C++程序:从键盘输入数行数据,每行最多20个正整数,每行最后用0表示行结束。一个以0开始的行表示输入结束。每输入完一行,输出该行数据的个数、平均值和有几个数据大于该行的平均值。
时间: 2024-05-11 13:15:57 浏览: 63
好的,我明白了你对我的要求。对于你的问题,我可以提供以下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;
}
```
这个程序会先读取每行的数据,统计数据个数、平均值和有几个数据大于该行的平均值,然后将这些结果依次输出,直到输入结束。希望这个代码能够帮到你!
阅读全文