艾明雅 十二:C语言求平均数问题

来源:百度文库 编辑:高校问答 时间:2024/04/28 02:43:22
大家不要小看了这个平均数问题,题目如下:
输入一组数(数字个数任意),然后求出这一组数的平均值

我理了一下思路,主要算法是“(1+2+3+……+n)/n”
(废话!)
不过难点就是如何确定N的值
因为它可以输入很多数字,也可以是很少数字

键盘输入数
每个数结束打回车键(Enter键)
输入数全部结束后打
end
(小写,无空白,end完毕也要Enter键)
输出结果。

#include <stdio.h>
#include <stdlib.h>

void main()
{
double a[3000],sum=0.0;
char s[32];
int i, j,N=0;

Lab1:
printf("Please enter data, if finish, enter end\n");
scanf("%s",&s[0]);
printf("you entered %s\n",s);
if (strncmp("end",s,1) == 0) goto done;
sscanf(&s[0],"%lf",&a[N] );
N = N + 1;
goto Lab1;
done:;
for (i=0;i<N;i++){
sum=sum + a[i];
}
sum = sum / (double) N;printf("mean=%lf, N=%d\n",sum,N);
}