C中用while 语句求平均值 哪里错了?每次算sum都是0?我写的如下

来源:百度知道 编辑:UC知道 时间:2024/05/27 13:31:46
#include<stdio.h>
main(void)
{
int n,counter=1;
double average,sum=0,input;

printf("please enter the number of inputs\n");
scanf("%d",&n);

while(counter<=n){
printf("enter a number:\n");
scanf("%f",&input);
sum=sum+input;
counter=counter+1;
}
printf("the sum is %f",sum);
average=(float)sum/n;
printf("the average is %f",average);
}

是粗心了吧,
这么声明:double average,sum=0,input;
然后这么赋值:scanf("%f",&input);
将double强转float会出现极大的负值。

将声明改为以下即可:
float average,sum=0,input;