输入四个学生的学号、姓名和成绩,然后输出成绩最高的学生的姓名和成绩。结构体
时间: 2023-09-05 07:09:02 浏览: 152
输入一批学生成绩,求出最高分.exe
好的,以下是实现该功能的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 20 // 定义字符串最大长度
// 定义学生结构体
struct student {
char id[MAX_LEN]; // 学号
char name[MAX_LEN]; // 姓名
float score; // 成绩
};
int main() {
// 定义四个学生结构体变量
struct student stu1, stu2, stu3, stu4;
// 依次输入四个学生的信息
printf("请输入第1个学生的学号、姓名、成绩(用空格隔开):\n");
scanf("%s %s %f", stu1.id, stu1.name, &stu1.score);
printf("请输入第2个学生的学号、姓名、成绩(用空格隔开):\n");
scanf("%s %s %f", stu2.id, stu2.name, &stu2.score);
printf("请输入第3个学生的学号、姓名、成绩(用空格隔开):\n");
scanf("%s %s %f", stu3.id, stu3.name, &stu3.score);
printf("请输入第4个学生的学号、姓名、成绩(用空格隔开):\n");
scanf("%s %s %f", stu4.id, stu4.name, &stu4.score);
// 比较四个学生的成绩,找出最高分的学生
struct student max_stu = stu1;
if (stu2.score > max_stu.score) {
max_stu = stu2;
}
if (stu3.score > max_stu.score) {
max_stu = stu3;
}
if (stu4.score > max_stu.score) {
max_stu = stu4;
}
// 输出成绩最高的学生的姓名和成绩
printf("成绩最高的学生是:%s,成绩为:%f\n", max_stu.name, max_stu.score);
return 0;
}
```
注意:由于题目中只要求输出成绩最高的学生的姓名和成绩,因此本示例代码并没有对输入的数据进行严格的合法性检查。在实际应用中,需要根据具体情况添加必要的输入校验和错误处理。
阅读全文