假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。根据这段描述编写C语言代码
时间: 2024-05-08 09:18:30 浏览: 112
c代码-输入5名学生的分数,并显示出他们的总分和平均分。
以下是符合要求的 C 语言代码:
```c
#include <stdio.h>
int main() {
int n, m, a[50][5], avg_s[50], avg_c[5];
int cnt = 0; // 记录各科成绩均大于等于平均成绩的学生数量
// 输入 n 和 m
printf("请输入班级人数和每人考试门数:\n");
scanf("%d %d", &n, &m);
// 输入成绩并计算平均成绩
for (int i = 0; i < n; i++) {
int sum = 0;
for (int j = 0; j < m; j++) {
printf("请输入第 %d 个学生的第 %d 门课成绩:\n", i+1, j+1);
scanf("%d", &a[i][j]);
sum += a[i][j];
}
avg_s[i] = sum / m;
}
for (int j = 0; j < m; j++) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i][j];
}
avg_c[j] = sum / n;
}
// 输出每个学生的平均成绩和每门课的平均成绩
printf("每个学生的平均成绩为:");
for (int i = 0; i < n; i++) {
printf("%d ", avg_s[i]);
}
printf("\n");
printf("每门课的平均成绩为:");
for (int j = 0; j < m; j++) {
printf("%d ", avg_c[j]);
}
printf("\n");
// 统计各科成绩均大于等于平均成绩的学生数量
for (int i = 0; i < n; i++) {
int flag = 1;
for (int j = 0; j < m; j++) {
if (a[i][j] < avg_c[j]) {
flag = 0;
}
}
if (flag == 1) {
cnt++;
}
}
// 输出结果
printf("各科成绩均大于等于平均成绩的学生数量为:%d\n", cnt);
return 0;
}
```
注意:这是一个简单的代码示例,你可以根据自己的需要进行修改和完善。
阅读全文