我有一个while循环,允许用户输入由空格分隔的任意数量的数字,并且当用户输入0
时,该程序应该在向用户显示最高数字时终止。
#include <stdio.h>
int main(){
float fResult[100], fMax;
int c = 1;
while (fResult[c] != 0){
scanf(" %f ", &fResult[c]);
if (fResult[c] > fMax){
fMax = fResult[c];
}
c = c + 1;
}
if (fResult[1]==0){
printf("empty sequence");
} else {
printf("%.3f ", fMax);
}
}
直到用户输入除负数以外的任何序列,它都可以正常工作。然后结果显示为
0
。例如,当用户输入
-3 -4 -100 -5 0
时,结果应为-3
,但我得到的是0
,从技术上讲,这是最大数量。但是,如果用户输入
0
,不应该忽略while循环吗? 最佳答案
将fMax
初始化为读取的第一个值。无需将值保存在数组中。始终检查