【发布时间】:2023-04-02 23:11:01
【问题描述】:
我的程序提示用户输入 20 个整数值,然后计算这些值的平均值。 我输入了以下内容:3.5, 6, 9, 12, 15, 18, 21, 24, 1000, 4500, 900, 7, 8, 2, 12, 5, 4, 3 , 2, 1
除第一个数字外,所有都是整数值,但程序告诉我平均值是 3.000000。为什么会发生这种情况?我最大的解释原因是我对每个值的 scanf 函数都会提示输入一个整数,因此输入 3.5 会四舍五入为 3 或 4,但这仍然不能解释结果平均值 3.000000。
#include <stdio.h>
int main(void) {
int count, value;
double avg, sum;
count = 0;
sum = 0;
avg = 0;
while (count < 20) {
printf("Enter a positive integer\n");
scanf("%i", &value);
if (value >= 0) {
sum = sum + value;
count = count + 1;
}
else {
printf("value must be positive");
}
}
avg = sum / count;
printf("Average is %lf\n ", avg);
return 0;
}
【问题讨论】:
-
与您的问题无关,但为了您自己,您应该缩进您的代码。