【发布时间】:2016-05-06 03:44:08
【问题描述】:
在下面的代码中,我希望用户输入 10 个浮点数,然后取它们的平均值。但是,在运行时,用户被强制输入 11 个数字,但第 11 个数字还是被丢弃了。平均值的值实际上是正确的。我只想知道为什么 scanf 似乎多跑了 1 次。
我遇到的问题与建议的副本不同。这里的问题和我对scanf函数的理解有关,其实我循环的次数是正确的。
见:
#include <stdio.h>
int main (void)
{
int i;
float entry[10];
float total = 0.0;
printf("please enter 10 floating point numbers\n");
for (i = 0; i < 10; ++i)
scanf("%f\n", &entry[i]);
for (i = 0; i < 10; ++i) {
total = total + entry[i];
}
printf("The average of the 10 floating point numbers is: %f\n", total / 10);
return 0;
}
【问题讨论】:
-
不,这看起来不像是骗子,至少不是提议的问题。