输入两个学生的学号、姓名和成绩,输出成绩较高者的学号、姓名和成绩。若二者相等,则输出两个学生的全部信息。用c语言的结构体写
时间: 2024-03-24 16:36:31 浏览: 64
好的,以下是一个使用 C 语言的结构体方式来实现的示例代码:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
struct student {
char id[20];
char name[20];
float score;
};
int main() {
// 定义两个学生结构体变量
struct student stu1, stu2;
// 获取第一个学生的信息
printf("请输入第一个学生的学号:");
scanf("%s", stu1.id);
printf("请输入第一个学生的姓名:");
scanf("%s", stu1.name);
printf("请输入第一个学生的成绩:");
scanf("%f", &stu1.score);
// 获取第二个学生的信息
printf("请输入第二个学生的学号:");
scanf("%s", stu2.id);
printf("请输入第二个学生的姓名:");
scanf("%s", stu2.name);
printf("请输入第二个学生的成绩:");
scanf("%f", &stu2.score);
// 比较两个学生的成绩
if (stu1.score > stu2.score) {
printf("成绩较高者的学号为 %s,姓名为 %s,成绩为 %.2f\n", stu1.id, stu1.name, stu1.score);
} else if (stu2.score > stu1.score) {
printf("成绩较高者的学号为 %s,姓名为 %s,成绩为 %.2f\n", stu2.id, stu2.name, stu2.score);
} else {
printf("两个学生的成绩相等,第一个学生的信息为:%s %s %.2f,第二个学生的信息为:%s %s %.2f\n", stu1.id, stu1.name, stu1.score, stu2.id, stu2.name, stu2.score);
}
return 0;
}
```
以上代码中,我们定义了一个名为 `student` 的结构体,包含了学号、姓名和成绩三个成员变量。然后定义了两个 `student` 类型的变量 `stu1` 和 `stu2`,分别用于存储两个学生的信息。在获取学生信息时,我们使用了结构体变量的成员访问方式,如 `stu1.id`、`stu1.name`、`stu1.score` 等。最后,我们使用同样的逻辑比较两个学生的成绩大小,并输出成绩较高者的信息或者两个学生的全部信息。
阅读全文