C语言输入三个学生的五门课程成绩,计算出每个学生的平均成绩及单科成绩的平均分,存入二维数组
时间: 2024-06-13 07:04:09 浏览: 119
为了计算每个学生的平均成绩及单科成绩的平均分,我们可以使用一个二维数组来存储所有学生的成绩。其中,行表示学生,列表示课程。具体步骤如下:
1. 定义一个二维数组,行数为学生数,列数为课程数。
2. 使用循环结构,依次输入每个学生的每门课程的成绩,并将其存入二维数组中。
3. 使用循环结构,计算每个学生的平均成绩,并将其存入一个一维数组中。
4. 使用循环结构,计算每门课程的平均分,并将其存入一个一维数组中。
5. 输出每个学生的平均成绩及每门课程的平均分。
下面是一个示例代码:
```
#include <stdio.h>
#define STUDENTS 3
#define COURSES 5
int main() {
int scores[STUDENTS][COURSES]; // 定义二维数组存储成绩
int student_averages[STUDENTS]; // 定义一维数组存储每个学生的平均成绩
int course_averages[COURSES]; // 定义一维数组存储每门课程的平均分
int i, j;
// 输入每个学生的每门课程的成绩
for (i = 0; i < STUDENTS; i++) {
printf("请输入第%d个学生的%d门课程成绩:\n", i + 1, COURSES);
for (j = 0; j < COURSES; j++) {
scanf("%d", &scores[i][j]);
}
}
// 计算每个学生的平均成绩
for (i = 0; i < STUDENTS; i++) {
int sum = 0;
for (j = 0; j < COURSES; j++) {
sum += scores[i][j];
}
student_averages[i] = sum / COURSES;
}
// 计算每门课程的平均分
for (j = 0; j < COURSES; j++) {
int sum = 0;
for (i = 0; i < STUDENTS; i++) {
sum += scores[i][j];
}
course_averages[j] = sum / STUDENTS;
}
// 输出每个学生的平均成绩及每门课程的平均分
printf("每个学生的平均成绩为:\n");
for (i = 0; i < STUDENTS; i++) {
printf("学生%d的平均成绩为:%d\n", i + 1, student_averages[i]);
}
printf("每门课程的平均分为:\n");
for (j = 0; j < COURSES; j++) {
printf("第%d门课程的平均分为:%d\n", j + 1, course_averages[j]);
}
return 0;
}
```
阅读全文