用c语言输入5个学生3门课程的成绩,分别用函数实现以下功能: (1)计算每个学生的平均分。 (2)计算每门课程的平均分。 (3)求出15个成绩中最高的分数和所对应的学生和课程。
时间: 2024-06-13 15:09:54 浏览: 76
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
以下是用C语言实现以上功能的代码:
```c
#include <stdio.h>
// 计算每个学生的平均分
void avg_student(float score[][3], float avg[]) {
for (int i = 0; i < 5; i++) {
float sum = 0;
for (int j = 0; j < 3; j++) {
sum += score[i][j];
}
avg[i] = sum / 3;
}
}
// 计算每门课程的平均分
void avg_course(float score[][3], float avg[]) {
for (int i = 0; i < 3; i++) {
float sum = 0;
for (int j = 0; j < 5; j++) {
sum += score[j][i];
}
avg[i] = sum / 5;
}
}
// 求出15个成绩中最高的分数和所对应的学生和课程
void max_score(float score[][3], float *max, int *max_student, int *max_course) {
*max = score[0][0];
*max_student = 0;
*max_course = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 3; j++) {
if (score[i][j] > *max) {
*max = score[i][j];
*max_student = i;
*max_course = j;
}
}
}
}
int main() {
float score[5][3];
float avg_student[5];
float avg_course[3];
float max_score;
int max_student;
int max_course;
// 输入成绩
printf("请输入5个学生3门课程的成绩:\n");
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的成绩:\n", i+1);
for (int j = 0; j < 3; j++) {
scanf("%f", &score[i][j]);
}
}
// 计算每个学生的平均分
avg_student(score, avg_student);
printf("每个学生的平均分为:\n");
for (int i = 0; i < 5; i++) {
printf("第%d个学生的平均分为:%.2f\n", i+1, avg_student[i]);
}
// 计算每门课程的平均分
avg_course(score, avg_course);
printf("每门课程的平均分为:\n");
for (int i = 0; i < 3; i++) {
printf("第%d门课程的平均分为:%.2f\n", i+1, avg_course[i]);
}
// 求出15个成绩中最高的分数和所对应的学生和课程
max_score(score, &max_score, &max_student, &max_course);
printf("最高分数为:%.2f,对应的学生为第%d个,对应的课程为第%d门。\n", max_score, max_student+1, max_course+1);
return 0;
}
```
阅读全文