1.某班级有M位学生,每位学生有N门课程成绩,编程求出每i J课程的平均成绩和每位学生的平均成绩。 提示:建立int a[M][N]二维数组,M、N为符号常量,该题题意为求该二维数组每行的平均值与每列的平均值C语言
时间: 2024-06-08 18:11:30 浏览: 120
以下是求解该问题的C语言代码:
```c
#include <stdio.h>
#define M 5 // 学生数
#define N 4 // 课程数
int main() {
int a[M][N] = {{80, 75, 92, 88}, {81, 78, 89, 86}, {77, 91, 80, 83}, {90, 93, 88, 87}, {82, 84, 79, 85}}; // 学生成绩数组
int i, j; // 循环变量
float row_avg[M] = {0}; // 每行平均值
float col_avg[N] = {0}; // 每列平均值
// 计算每行平均值
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
row_avg[i] += a[i][j];
}
row_avg[i] /= N;
}
// 计算每列平均值
for (j = 0; j < N; j++) {
for (i = 0; i < M; i++) {
col_avg[j] += a[i][j];
}
col_avg[j] /= M;
}
// 输出每行平均值
printf("每行平均值:\n");
for (i = 0; i < M; i++) {
printf("第%d行平均值:%.2f\n", i+1, row_avg[i]);
}
// 输出每列平均值
printf("每列平均值:\n");
for (j = 0; j < N; j++) {
printf("第%d列平均值:%.2f\n", j+1, col_avg[j]);
}
return 0;
}
```
其中,我们先定义了符号常量M和N表示学生数和课程数,以及一个二维数组a表示学生成绩。
接着,我们定义了循环变量i和j,以及两个一维数组row_avg和col_avg,分别用于存储每行和每列的平均值。
然后,我们先利用两个for循环计算每行的平均值,再利用另外两个for循环计算每列的平均值,最后输出结果即可。
阅读全文