这是用visual studio编写的代码
#include <stdio.h>
void main()
{
int n,i,num,s;
float av;
printf("How Many numbers?");
scanf("%d",&n);
s=0;
for(i=1;i<=n;i++){
printf("enter number #%d : ",i);
scanf("%d", &num);
s=s+num;
}
av=s/n;
printf("The Average is %f",av);
getchar();
}
我真的不知道为什么它没有显示正确的平均值:/
最佳答案
问题在于:av=s/n;
您正在将整数除法的结果存储到浮点中,会有一些数据丢失。一个简单的解决方案:使用类型转换->av=(float)s/n;
或av=s/(float)n;
另一种选择:将s
或n
设为浮点。
关于c - 我的程序没有显示正确的平均值,只给我十进制的零(编程新手),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29989799/