有N个学生,每人考M门课,求出每个同学的平均成绩和每门课的平均成绩。用c语言?

如题所述

以下是C语言的示例代码,用于计算每个学生的平均成绩和每门课的平均成绩。假设成绩存储在一个NxM的数组中,其中第i个学生的第j门课的成绩存储在数组的第i行第j列。
#include <stdio.h>

int main() {
int N, M;
printf("请输入学生人数和考试科目数:\n");
scanf("%d %d", &N, &M);

int grades[N][M];

// 输入每个学生的成绩
for (int i = 0; i < N; i++) {
printf("请输入第%d个学生的成绩:\n", i+1);
for (int j = 0; j < M; j++) {
scanf("%d", &grades[i][j]);
}
}

// 计算每个学生的平均成绩
double avg_student[N];
for (int i = 0; i < N; i++) {
int sum = 0;
for (int j = 0; j < M; j++) {
sum += grades[i][j];
}
avg_student[i] = (double)sum / M;
}

// 计算每门课的平均成绩
double avg_subject[M];
for (int j = 0; j < M; j++) {
int sum = 0;
for (int i = 0; i < N; i++) {
sum += grades[i][j];
}
avg_subject[j] = (double)sum / N;
}

// 输出每个学生的平均成绩
printf("每个学生的平均成绩:\n");
for (int i = 0; i < N; i++) {
printf("第%d个学生的平均成绩为:%.2f\n", i+1, avg_student[i]);
}

// 输出每门课的平均成绩
printf("每门课的平均成绩:\n");
for (int j = 0; j < M; j++) {
printf("第%d门课的平均成绩为:%.2f\n", j+1, avg_subject[j]);
}

return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-11-14
这个特别简单