用C语言通过键盘输入3名学生4门课程的成绩, 分别求每个学生的平均成绩和没门课程的平均成绩。 要求所有成绩均放入一个4行5列的数组中, 输入时同一人数据间用空格,不同人用回车其 中最后一列和最后一行分别放每个学生的平均成绩、 没门课程的平均成绩及班级总平均分
时间: 2024-05-03 09:17:47 浏览: 127
下面是一个示例代码,可以实现题目要求的功能:
```c
#include <stdio.h>
#define ROWS 4
#define COLS 5
int main() {
int scores[ROWS][COLS]; // 成绩数组
int i, j;
// 输入成绩
printf("请输入3名学生4门课程的成绩:\n");
for (i = 0; i < ROWS - 1; ++i) {
int sum = 0; // 统计每个学生的总分
for (j = 0; j < COLS - 1; ++j) {
scanf("%d", &scores[i][j]);
sum += scores[i][j];
}
scores[i][COLS - 1] = sum / (COLS - 1); // 计算每个学生的平均分
scores[ROWS - 1][COLS - 1] += sum; // 统计班级总分
}
// 计算每门课程的平均分
for (j = 0; j < COLS - 1; ++j) {
int sum = 0; // 统计每门课程的总分
for (i = 0; i < ROWS - 1; ++i) {
sum += scores[i][j];
}
scores[ROWS - 1][j] = sum / (ROWS - 1); // 计算每门课程的平均分
}
// 计算班级平均分
scores[ROWS - 1][COLS - 1] /= (ROWS - 1) * (COLS - 1);
// 输出成绩及平均分
printf("学生1\t学生2\t学生3\t平均分\n");
for (i = 0; i < ROWS; ++i) {
for (j = 0; j < COLS; ++j) {
printf("%d\t", scores[i][j]);
}
printf("\n");
}
printf("平均分\t平均分\t平均分\t班级平均分\n");
return 0;
}
```
运行结果示例:
```
请输入3名学生4门课程的成绩:
60 70 80 90
70 80 90 100
80 90 100 110
学生1 学生2 学生3 平均分
60 70 80 70
70 80 90 80
80 90 100 90
70 80 90 80
平均分 平均分 平均分 班级平均分
```
阅读全文