思路:用while语句求平均数,当输入的数字不等于-1时,一直把后面输入的数字加到前面的数字之和上,并单独用一个n来计数。
难点:整数的除法可能会有小数部分,用双精度浮点数定义最后的结果并输出,更加准确。特别要注意在C语言中,整数和整数做除法,只会保留整数部分,此时用double强制转化被除数的类型,就可以保留小数部分。
#include <stdio.h>
int main() {
int number;//输入的数字
int sum = 0;//数字之和
int n = 0;//计数用
double a = 0;//用双精度浮点数表示结果
scanf("%d", &number);//先读入一个数字
while (number != -1) {//判断数字是否等于-1
n++;//计数,最后作为除数
sum += number;//数字之和
scanf("%d", &number);//注意要在while循环中再给一个输入数字的语句
}
a = (double)sum / n;//计算结果
printf("%lf", a);//输出
return 0;
}