c语言输入两个学生的学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩
时间: 2023-09-06 08:14:15 浏览: 51
可以通过以下代码实现:
```c
#include <stdio.h>
#include <string.h>
struct student {
int id;
char name[20];
float score;
};
int main() {
struct student s1, s2;
// 输入第一个学生的信息
printf("请输入第一个学生的学号:");
scanf("%d", &s1.id);
printf("请输入第一个学生的姓名:");
scanf("%s", s1.name);
printf("请输入第一个学生的成绩:");
scanf("%f", &s1.score);
// 输入第二个学生的信息
printf("请输入第二个学生的学号:");
scanf("%d", &s2.id);
printf("请输入第二个学生的姓名:");
scanf("%s", s2.name);
printf("请输入第二个学生的成绩:");
scanf("%f", &s2.score);
// 比较两个学生的成绩,输出成绩较高的学生的信息
if (s1.score > s2.score) {
printf("成绩较高的学生是:%d %s %.2f\n", s1.id, s1.name, s1.score);
} else {
printf("成绩较高的学生是:%d %s %.2f\n", s2.id, s2.name, s2.score);
}
return 0;
}
```
需要注意的是,结构体中的字符串需要使用数组来存储,而不是直接定义一个指针。另外,可以使用 `%.2f` 的格式控制字符串来保留两位小数输出浮点数。