数组应用: 数据求均值
问题描述:
由键盘输入读取整型数据,数据数量不超过100个,当读取到数据-1
时,停止读取数据,并计算这些数据的均值(不包含-1
)
问题分析:
给定了数据数量不超过100,若将每个输入数据分别赋值给变量(a1,a2,a3,a4,a5...)会比较繁琐,因此可用数组来存储读入的数据。因此需要累加和变量sum
, 以及计数变量cnt
, 最后由变量sum
、cnt
来求均值。
S1 : 初始化变量 `sum`、 `cnt` ,定义数组
S2 : 读取数据`x`:
当数据`x`不等于`-1`时:
执行`sum = sum + x`
执行`cnt = cnt + 1`
执行`读取数据`
当数据`x` 等于 `-1` 时 :
终止,跳出循环体
S3 :计算均值:
C
代码:
#include <stdio.h>
int main()
{
int x;
double sum = 0;
int cnt = 0; //初始化计算变量 cnt
int number[100]; //定义数组 number ,包含 100个 元素
scanf("%d",&x); //读取键盘数据输入
while ( x!=-1 ){ //当 停止读取数据标志 -1 未出现时,执行循环体
sum += x;
cnt ++;
scanf("%d", &x);
}
if ( cnt > 0 ) { // 若第一个数据为 -1 ,则终止读取数据,while 循环体不执行,cnt = 0 ;
printf("%f\n", sum/cnt);
}
return 0;
}