使用C语言,任意输入一组数,直到输入-1000时结束输入,求:(1)输入数据个数;(2)求这组数的平均值;(3)统计比平均值小的数据个数,并将比平均值小的所有数据输出;要求选择for、while、do while其中之一实现。
时间: 2024-12-14 11:18:56 浏览: 11
你可以使用for循环来实现这个功能,因为for循环非常适合已知迭代次数的情况。以下是代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int num_count = 0;
double sum = 0.0, average = 0.0;
double current_num;
// 使用for循环获取用户输入并计算总和及计数
for (int i = 1; ; i++) {
printf("请输入第%d个数字(输入-1000结束):", i);
scanf("%lf", ¤t_num);
if (current_num == -1000) break; // 输入-1000时跳出循环
num_count++;
sum += current_num;
}
// 计算平均值
if (num_count > 0) {
average = sum / num_count;
} else {
printf("未输入任何数据,无法计算平均值。\n");
return 1;
}
printf("输入数据总数: %d\n", num_count);
printf("平均值: %.2f\n", average);
// 统计并输出小于平均值的数
int count_below_average = 0;
for (int j = 0; j < num_count; j++) {
if (current_num < average) {
printf("数值 %lf 小于平均值\n", current_num);
count_below_average++;
}
}
printf("比平均值小的数据有 %d 个。\n", count_below_average);
return 0;
}
```
阅读全文