#include <stdio.h>
// 定义一个结构体来存储学生信息
typedef struct {
char id[20]; // 学号
char name[20]; // 姓名
float scores[3]; // 三门课的成绩
float average; // 平均成绩
} Student;
int main() {
int n;
scanf("%d", &n); // 读取学生数量
Student students[n]; // 创建一个数组来存储所有学生的信息
// 读取每个学生的信息
for (int i = 0; i < n; i++) {
scanf("%s %s %f %f %f", students[i].id, students[i].name, &students[i].scores[0], &students[i].scores[1], &students[i].scores[2]);
students[i].average = (students[i].scores[0] + students[i].scores[1] + students[i].scores[2]) / 3; // 计算平均成绩
}
// 找出平均成绩最高的学生
float maxAverage = students[0].average;
int maxIndex = 0;
for (int i = 1; i < n; i++) {
if (students[i].average > maxAverage) {
maxAverage = students[i].average;
maxIndex = i;
}
}
// 输出每个学生的信息和平均成绩
for (int i = 0; i < n; i++) {
printf("%d %s %.2f %.2f %.2f %.2f\n", i + 1, students[i].name, students[i].scores[0], students[i].scores[1], students[i].scores[2], students[i].average);
}
// 输出最高分学生的信息
printf("%s %.2f\n", students[maxIndex].name, maxAverage);
return 0;
}
331

被折叠的 条评论
为什么被折叠?



