输入10个学生5门课的成绩,分别写3个函数完成: (1)每个学生的平均分 (2)每门课的平均分 (3)找出最高分学生的学号(1-10)和课程(1-5) 在主函数中调用这3个函数
时间: 2024-06-13 08:07:28 浏览: 45
以下是针对题目的回答:
```c
#include <stdio.h>
#define STUDENT_NUM 10 // 学生数量
#define COURSE_NUM 5 // 课程数量
int scores[STUDENT_NUM][COURSE_NUM]; // 存储学生成绩的二维数组
// 计算每个学生的平均分
void avg_score_per_student() {
for (int i = 0; i < STUDENT_NUM; i++) {
int sum = 0;
for (int j = 0; j < COURSE_NUM; j++) {
sum += scores[i][j];
}
printf("学生%d的平均分为%.2f\n", i + 1, (float)sum / COURSE_NUM);
}
}
// 计算每门课的平均分
void avg_score_per_course() {
for (int i = 0; i < COURSE_NUM; i++) {
int sum = 0;
for (int j = 0; j < STUDENT_NUM; j++) {
sum += scores[j][i];
}
printf("第%d门课的平均分为%.2f\n", i + 1, (float)sum / STUDENT_NUM);
}
}
// 找出最高分学生的学号和课程
void find_highest_score() {
int max_score = 0;
int max_student = 0;
int max_course = 0;
for (int i = 0; i < STUDENT_NUM; i++) {
for (int j = 0; j < COURSE_NUM; j++) {
if (scores[i][j] > max_score) {
max_score = scores[i][j];
max_student = i + 1;
max_course = j + 1;
}
}
}
printf("最高分为%d,学生%d的第%d门课获得最高分\n", max_score, max_student, max_course);
}
int main() {
// 输入学生成绩
for (int i = 0; i < STUDENT_NUM; i++) {
printf("请输入学生%d的成绩:\n", i + 1);
for (int j = 0; j < COURSE_NUM; j++) {
scanf("%d", &scores[i][j]);
}
}
// 调用三个函数
avg_score_per_student();
avg_score_per_course();
find_highest_score();
return 0;
}
```
阅读全文