用C语言输入某班学生某门课的成绩(最多不超过40人), 当输入为负值时,表示输入结束, 用函数编程统计成绩不低于平均分的学生人数。 要求: (1)按如下函数原型进行编程: int GetAboveAver(int score[], int n); (2)在主函数中: 输入学生成绩, 然后调用函数GetAboveAver计算成绩不低于平均分的学生人数, 最后输出该人数。 要求: (1)学生成绩和平均分均定义为int类型 (2)**无输入提示信息 **输入格式为:"%d" **输出格式为:"Students of above average is %d\n"
时间: 2024-03-21 11:40:15 浏览: 56
好的,下面是代码实现:
```
#include <stdio.h>
int GetAboveAver(int score[], int n);
int main() {
int score[40];
int n = 0;
int i, sum = 0, above_aver = 0;
float aver;
// 输入学生成绩
while (1) {
scanf("%d", &score[n]);
if (score[n] < 0) {
break;
}
sum += score[n];
n++;
}
// 计算平均分
aver = (float)sum / n;
// 统计成绩不低于平均分的学生人数
above_aver = GetAboveAver(score, n);
printf("Students of above average is %d\n", above_aver);
return 0;
}
int GetAboveAver(int score[], int n) {
int i, count = 0;
float aver, sum = 0;
for (i = 0; i < n; i++) {
sum += score[i];
}
aver = sum / n;
for (i = 0; i < n; i++) {
if (score[i] >= aver) {
count++;
}
}
return count;
}
```
这个程序实现了对输入的学生成绩进行统计,计算平均分以及统计成绩不低于平均分的学生人数,并输出最终结果。函数GetAboveAver用来计算成绩不低于平均分的学生人数,主函数则负责输入学生成绩,计算平均分,并调用GetAboveAver函数进行统计。
阅读全文