输入四个学生的学号、姓名和成绩,然后输出成绩最高的学生的姓名和成绩。结构体
时间: 2023-09-05 21:09:02 浏览: 104
好的,我可以为您提供一个示例代码:
```
#include <stdio.h>
#include <string.h>
struct Student {
int num;
char name[50];
float score;
};
int main() {
struct Student stu[4];
int i, max_index = 0;
float max_score = 0.0;
// 输入学生信息
for (i = 0; i < 4; i++) {
printf("请输入第%d个学生的学号、姓名和成绩:", i + 1);
scanf("%d %s %f", &stu[i].num, stu[i].name, &stu[i].score);
}
// 查找成绩最高的学生
for (i = 0; i < 4; i++) {
if (stu[i].score > max_score) {
max_score = stu[i].score;
max_index = i;
}
}
// 输出成绩最高的学生姓名和成绩
printf("成绩最高的学生姓名为:%s,成绩为:%f\n", stu[max_index].name, stu[max_index].score);
return 0;
}
```
在这个示例中,我们定义了一个名为 `Student` 的结构体,包含了学号、姓名和成绩三个成员变量。在主函数中,我们创建了一个包含四个 `Student` 结构体的数组 `stu`,通过循环输入每个学生的信息。
接着,我们再次循环 `stu` 数组,找到成绩最高的学生所对应的下标 `max_index`,并将其输出。
需要注意的是,在输入学生姓名时,由于 `name` 成员是一个字符数组,所以不能使用 `&` 运算符取地址,直接使用数组名即可。
阅读全文