C++程序:从键盘输入数行数据,每行最多20个正整数,每行最后用0表示行结束。一个以0开始的行表示输入结束。每输入完一行,输出该行数据的个数、平均值和有几个数据大于该行的平均值。
时间: 2024-05-11 21:15:57 浏览: 57
C语言实验-有3个整数a,b,c,由键盘输入,编写程序输出其中绝对值最大(或最小)的数。
5星 · 资源好评率100%
好的,我明白了你对我的要求。对于你的问题,我可以提供以下C语言代码来解决:
```c
#include <stdio.h>
#define MAX_LEN 20
int main() {
int input[MAX_LEN], count, sum, aboveAvg, i, j;
double avg;
// loop for each input line
while (1) {
// read input line
count = 0;
sum = 0;
aboveAvg = 0;
for (i = 0; i < MAX_LEN; i++) {
scanf("%d", &input[i]);
if (input[i] == 0) break;
count++;
sum += input[i];
}
// check if input ends
if (input[0] == 0) break;
// calculate average and count above average
avg = (double) sum / count;
for (j = 0; j < count; j++) {
if (input[j] > avg) aboveAvg++;
}
// output results
printf("%d %.2lf %d\n", count, avg, aboveAvg);
}
return 0;
}
```
这个程序会先读取每行的数据,统计数据个数、平均值和有几个数据大于该行的平均值,然后将这些结果依次输出,直到输入结束。希望这个代码能够帮到你!
阅读全文