活动介绍

一个班上有30名学生,每个学生的数据作为一个记录,每个记录包括学号、姓名、三门课程的成绩和三门课程平均成绩。从键盘输入学生的学号、姓名及三门课的成绩。要求打印三门课程平均成绩最高分的学生记录(写c语言代码)

时间: 2024-09-11 18:10:00 浏览: 276
在C语言中,你可以定义一个结构体来存储学生的数据,包括学号、姓名、三门课程的成绩和平均成绩。然后通过输入每个学生的数据,计算平均成绩,并找出平均成绩最高的学生记录进行打印。以下是一个简单的C语言代码实现: ```c #include <stdio.h> typedef struct { int student_id; char name[50]; float course1; float course2; float course3; float average; } Student; int main() { Student students[30]; // 假设班上最多有30名学生 int n; printf("请输入学生数量(最多30名学生):"); scanf("%d", &n); if (n > 30) { n = 30; } // 输入每个学生的数据 for (int i = 0; i < n; i++) { printf("请输入第%d个学生的学号、姓名、三门课成绩:\n", i + 1); scanf("%d %s %f %f %f", &students[i].student_id, students[i].name, &students[i].course1, &students[i].course2, &students[i].course3); students[i].average = (students[i].course1 + students[i].course2 + students[i].course3) / 3; // 计算平均成绩 } // 查找平均成绩最高的学生 int max_index = 0; for (int i = 1; i < n; i++) { if (students[i].average > students[max_index].average) { max_index = i; } } // 打印平均成绩最高的学生记录 printf("\n平均成绩最高的学生记录是:\n"); printf("学号:%d\n", students[max_index].student_id); printf("姓名:%s\n", students[max_index].name); printf("课程1成绩:%.2f\n", students[max_index].course1); printf("课程2成绩:%.2f\n", students[max_index].course2); printf("课程3成绩:%.2f\n", students[max_index].course3); printf("平均成绩:%.2f\n", students[max_index].average); return 0; } ``` 在这段代码中,我们首先定义了一个`Student`结构体来存储学生的相关信息。然后通过`scanf`函数从键盘输入每个学生的数据,并计算平均成绩。接着通过一个循环找出平均成绩最高的学生记录,并使用`printf`函数打印出来。
阅读全文

相关推荐