C语言入门,求解答,谢谢!!!
刚刚看C语言题目的时候遇到一个问题,请各位大大帮我解答一下。题目如下:编写程序,找出用户输入的一串数中的最大数。程序需要提示用户一个一个地输入数。当用户输入0或负数时,程序必须显示出已输入的最大非负数:
Enter a number:60
Enter a number:38.3
Enter a number:4.89
Enter a number:100.62
Enter a number:75.2295
Enter a number:0
The largest number entered was 100.62
注意,输入的数不一定是整数!!!!
下面是我写的代码:
#include <stdio.h>;
int main()
{
float cmd, max = 0.00f;
for(; ;) {
printf("输入一个数字:");
scanf("%f", &cmd);
if(cmd <= 0){
printf("当前最大的是:%d"\n,max);
break;
}else{
if(cmd > max) max = cmd;
}
}
return 0;
}
为何我的代码运行后输入0,却总显示最大值为0???
谢谢各位! printf("当前最大的是:%d"\n,max);
这里应该是 %f 吧 scanf中的d改为f并在后面加一句
getchar(); 输出的时候%d改成%f ,貌似并没有什么问题。
运行截图如下:
是的 你的max是浮点型 输出的时候却是整型 改一下就行了
页:
[1]