用C给定m位学生n门课程的成绩(m<=20, n<=10) ,以及达标线。统计并输出各门课程的平均分在达标线以上的学生人数。【输入格式】第一行包含2个整数,表示学生数m和课程数n;接下来有m行,每行包含n个正整数,表示1位学生的n门课程的成绩。最后一行包含一个整数,为达标线。
时间: 2024-02-20 20:01:28 浏览: 99
C语言程序设计-有一个一维数组score,内放10个学生的成绩,用一个函数来求平均成绩;
5星 · 资源好评率100%
好的,这是一个关于统计学生成绩的问题。根据您提供的信息,我们可以使用以下的C代码实现:
```c
#include <stdio.h>
#define MAX_M 20
#define MAX_N 10
int main() {
int m, n, line, i, j, count;
int scores[MAX_M][MAX_N];
double avg[MAX_N];
scanf("%d%d", &m, &n);
for (i = 0; i < m; ++i) {
for (j = 0; j < n; ++j) {
scanf("%d", &scores[i][j]);
}
}
scanf("%d", &line);
for (j = 0; j < n; ++j) {
double sum = 0.0;
count = 0;
for (i = 0; i < m; ++i) {
if (scores[i][j] >= line) {
sum += scores[i][j];
++count;
}
}
avg[j] = sum / count;
}
for (j = 0; j < n; ++j) {
count = 0;
for (i = 0; i < m; ++i) {
if (scores[i][j] >= line) {
++count;
}
}
printf("%d\n", count);
}
return 0;
}
```
该程序使用了一个二维数组`scores`来存储学生的成绩,数组的行数为学生数m,列数为课程数n。然后我们读入每个学生的成绩,并记录达标线。接下来,我们统计并输出各门课程的平均分在达标线以上的学生人数。具体来说,我们先使用一个循环计算每门课程的平均分,并将结果存入数组`avg`中。然后再使用另一个循环计算每门课程平均分在达标线以上的学生人数,并输出结果。
阅读全文