用c语言编程从键盘输入若干自然数,直到输入-1为止,输出大于平均数数据的个数
时间: 2024-11-12 07:40:47 浏览: 38
在C语言中,你可以使用数组来存储用户输入的自然数,并计算它们的平均值,然后遍历数组找出所有大于平均值的数并计数。下面是一个简单的步骤描述:
1. 首先,声明一个数组和一个整数变量`count`来记录大于平均值的数的数量,以及一个整数`sum`来累计数字总和。
```c
int numbers[100], count = 0, sum = 0;
```
这里假设最多可以输入100个数,可以根据实际情况调整数组大小。
2. 使用一个`while`循环,持续从键盘读入整数,直到输入-1停止。每次读取后检查是否为-1,如果不是则累加到`sum`并增加`count`。
```c
while (1) {
int num;
scanf("%d", &num);
if (num == -1)
break; // 用户输入-1,跳出循环
sum += num;
count++;
numbers[count - 1] = num; // 将数值存入数组
}
```
3. 计算平均数(如果输入的数非零),然后遍历数组,比较每个元素是否大于平均值。如果是,将`count`递增。
```c
if (count > 0) { // 防止除以0错误
double average = (double)sum / count;
for (int i = 0; i < count; i++) {
if (numbers[i] > average) {
count++; // 数字大于平均,增加计数
}
}
}
```
4. 最后,输出大于平均值的数据个数。
```c
printf("大于平均值的数据个数: %d\n", count);
```
阅读全文