有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。
#include <stdio.h>
typedef struct {
int num;
char name[20];
float score[3];
} Student;
void input(Student students[], int n) {
for (int i = 0; i < n; i++) {
printf("Enter num, name, scores for student %d: ", i + 1);
scanf("%d %s %f %f %f", &students[i].num, students[i].name,
&students[i].score[0], &students[i].score[1], &students[i].score[2]);
}
}
float calculateAverage(Student students[], int n) {
float total[3] = {0, 0, 0};
for (int i = 0; i < n; i++) {
for (int j = 0; j < 3; j++) {
total[j] += students[i].score[j];
}
}
return (total[0] + total[1] + total[2]) / (3 * n);
}
Student findTopStudent(Student students[], int n) {
Student topStudent = s