C语言定义一个二维数组,存入5个学生的语文、数学、英语、物理、化学5门课程的成绩,计算输出每一门课程的平均成绩和每一位学生的平均成绩。
时间: 2023-11-04 10:12:07 浏览: 145
C语言第07章-一维数组和二维数组1完整.pptx
好的,请看下面的代码示例:
```c
#include <stdio.h>
#define NUM_STUDENTS 5
#define NUM_SUBJECTS 5
int main() {
int scores[NUM_STUDENTS][NUM_SUBJECTS]; // 定义二维数组存储成绩
// 输入每个学生的成绩
for (int i = 0; i < NUM_STUDENTS; i++) {
printf("请输入第 %d 个学生的成绩:\n", i+1);
for (int j = 0; j < NUM_SUBJECTS; j++) {
printf("请输入第 %d 门课程的成绩:", j+1);
scanf("%d", &scores[i][j]);
}
}
// 计算每门课程的平均成绩
int sub_avg[NUM_SUBJECTS] = {0};
for (int j = 0; j < NUM_SUBJECTS; j++) {
for (int i = 0; i < NUM_STUDENTS; i++) {
sub_avg[j] += scores[i][j];
}
sub_avg[j] /= NUM_STUDENTS;
printf("第 %d 门课程的平均成绩为:%d\n", j+1, sub_avg[j]);
}
// 计算每个学生的平均成绩
for (int i = 0; i < NUM_STUDENTS; i++) {
int stu_sum = 0;
for (int j = 0; j < NUM_SUBJECTS; j++) {
stu_sum += scores[i][j];
}
printf("第 %d 个学生的平均成绩为:%d\n", i+1, stu_sum/NUM_SUBJECTS);
}
return 0;
}
```
这个程序定义了一个 $5\times5$ 的二维数组 `scores` 存储每个学生的成绩。通过两个嵌套的循环,分别输入每个学生的各门成绩。然后再通过两个循环分别计算每门课程的平均成绩和每个学生的平均成绩,并输出结果。
阅读全文