输入某班学生某门课的成绩(最多不超过40人),当输入为负值时,表示输入结束, 用函数编程统计成绩高于平均分的学生人数。 要求按如下原型编写统计成绩在全班平均分及平均分之上的学生人数,用c语言写一个程序
时间: 2024-05-01 19:19:04 浏览: 33
以下是一个简单的 C 语言程序,用于实现您所需的功能:
```c
#include <stdio.h>
int count_above_average(int scores[], int n);
int main() {
int scores[40];
int n = 0;
int sum = 0;
printf("请输入该门课的成绩(负数表示输入结束):\n");
// 循环读入成绩并计算总分
while (1) {
int score;
scanf("%d", &score);
if (score < 0) {
break;
}
scores[n] = score;
sum += score;
n++;
}
// 计算平均分
float avg = (float)sum / n;
// 统计成绩高于平均分的学生人数
int count = count_above_average(scores, n, avg);
printf("全班平均分为 %.2f,%d 个学生的成绩高于平均分。\n", avg, count);
return 0;
}
int count_above_average(int scores[], int n, float avg) {
int count = 0;
for (int i = 0; i < n; i++) {
if (scores[i] > avg) {
count++;
}
}
return count;
}
```
该程序使用一个 `count_above_average` 函数来统计成绩高于平均分的学生人数。该函数接收一个整数数组 `scores`、数组长度 `n` 和平均分 `avg` 作为参数,遍历数组并统计成绩高于平均分的学生人数,最后返回结果。
在 `main` 函数中,程序首先读入成绩并计算总分和学生人数。然后计算平均分,并调用 `count_above_average` 函数统计成绩高于平均分的学生人数。最后输出结果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)