急~c语言求平均数,不知道错在哪~~结果总是出错~谢谢了~

#include<stdio.h>
int main(void)
{
int a,b,c;
int sum;
double average;
printf("输入三个整数: \n");
scanf("%d %d %d", &a, &b,&c);

sum=a+b+c;
printf(" 和: %d \n.",sum);
average=sum/3;
printf("平均: %f \n.",average);

return 0;
}

变量sum是int类型的
sum/3是整除运算,所以平均值大多是错的,
average=sum/3;
这句改成:
average=sum*1.0/3;
或者改成
average=((double)sum)/3;
就行了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-22
#include<stdio.h>
int main(void)
{
int a,b,c;
int sum=0;
float average;
printf("输入三个整数: \n");
scanf("%d %d %d", &a, &b,&c);

sum=a+b+c;
printf(" 和: %d \n",sum);
average=sum/3;
printf("平均: %f \n",average);

return 0;
}
第2个回答  2013-03-22
#include<stdio.h>
int main(void)
{
int a,b,c;
int sum;
double average;
printf("输入三个整数: \n");
scanf("%d %d %d", &a, &b,&c);

sum=a+b+c;
printf(" 和: %d \n.",sum);
average=((double)sum)/3;
printf("平均: %f \n.",average);

return 0;
}
第3个回答  2013-03-22
average=(double)sum/3
相似回答