假设学生的基本信息包括学号、姓名、出生日期、三 门课程成绩以及个人平均成绩。输入n 个 学生的成绩信息, 计算并输出平均分最高 的学生信息。
时间: 2023-05-26 20:02:39 浏览: 78
算法步骤如下:
1. 定义一个结构体类型,包含学号、姓名、出生日期、三门课程成绩和个人平均成绩等属性。
2. 从键盘上输入n个学生的成绩信息,计算每个学生的平均成绩并更新结构体中的属性值。
3. 遍历所有学生的平均成绩,找到平均分最高的学生,将该学生的信息输出到屏幕上。
伪代码如下:
struct Student {
int id; // 学号
char name[20]; // 姓名
char birthdate[20]; // 出生日期
float score[3]; // 三门课程成绩
float avg_score; // 个人平均成绩
};
int main() {
int n;
struct Student stu[100]; // 最多100个学生
// 输入n个学生的成绩信息并计算平均成绩
for (int i = 0; i < n; i++) {
scanf("%d%s%s%f%f%f", &stu[i].id, stu[i].name, stu[i].birthdate, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
stu[i].avg_score = (stu[i].score[0] + stu[i].score[1] + stu[i].score[2]) / 3;
}
// 找到平均分最高的学生并输出
int max_index = 0;
for (int i = 1; i < n; i++) {
if (stu[i].avg_score > stu[max_index].avg_score) {
max_index = i;
}
}
printf("平均分最高的学生信息:\n");
printf("学号:%d\n", stu[max_index].id);
printf("姓名:%s\n", stu[max_index].name);
printf("出生日期:%s\n", stu[max_index].birthdate);
printf("三门课程成绩:%.1f %.1f %.1f\n", stu[max_index].score[0], stu[max_index].score[1], stu[max_index].score[2]);
printf("个人平均成绩:%.1f\n", stu[max_index].avg_score);
return 0;
}