我对C语言和编程都很陌生,而且我对5个数字的平均值有问题。我已经尝试了所有我能想到的,我不知道为什么我没有得到一个数字除了0。我的代码是:
#include <stdio.h>
int main (void)
{
long int first,second,third,fourth,fifth, sum;
float avg = (first+second+third+fourth+fifth)/5;
printf("Please put in five numbers\n");
scanf("%d%d%d%d%d", &first, &second, &third, &fourth, &fifth);
printf("You entered: %d %d %d %d %d\n" , first, second, third, fourth, fifth);
sum = first+second+third+fourth+fifth;
printf("The sum of the numbers you entered is %d\n",
sum);
printf("The average is %d\n", avg);
return 0;
}
最佳答案
主要的问题是你在得到数字之前先计算出平均值。未初始化变量的值碰巧为0,五个零的平均值也为0。
第二个问题是把一个整数和除以另一个整数。整数除法丢弃商的小数部分。
台词:
float avg = (first+second+third+fourth+fifth)/5;
必须在
scanf
之后移动,5
必须变为5.0
。结果应显示为带%f
的浮点数,而不是带%d
的浮点数。