该程序应该计算输入到-1之前的数字的平均值,但是我的代码计算出包含-1的平均值。
如何将-1排除在总和和平均值之外?
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
int sum = 0, i = 0;
float av;
do {
scanf("%d", &n);
sum += n;
i++;
} while (n != -1);
av = (float)sum / i;
printf("%f", av);
return 0;
}
答案 0 :(得分:0)
在您的解决方案中,您的代码将读取等于n
的{{1}}并进行添加,然后验证是哪个引起了此问题。
您可以这样做:
-1
甚至更好,例如:
do {
scanf("%d", &n);
if (n != -1) sum += n;
i++;
} while (n != -1);