题目要求:
输入两个学生的学号、姓名和成绩,输出成绩较高学生的学号、姓名和成绩
解题思路:
(1)定义两个结构相同的结构体变量student1和student2;
(2)分别输入两个学生的学号、姓名和成绩;
(3)比较两个学生的成绩,如果学生1的成绩高于学生2,就输出学生1的全部信息,如果学生2的成绩高于学生1,就输出学生2的全部信息。如果二者相等,输出2个学生的全部信息
/* Note:Your choice is C IDE */
#include "stdio.h"
struct Student{
char name[10];//姓名
long int num;//学号
float grade;//成绩
}student1,student2;
void main()
{
printf("请依次输入学生1的姓名、学号和成绩:");
scanf("%s %ld %f",student1.name,&student1.num,&student1.grade);
printf("请依次输入学生2的姓名、学号和成绩:");
scanf("%s %ld %f",student2.name,&student2.num,&student2.grade);
if(student1.grade>student2.grade){
printf("学生1的信息为:\n");
printf("姓名:%s\t学号:%ld\t成绩:%.1f",student1.name,student1.num,student1.grade);
}else if(student1.grade<student2.grade){
printf("学生2的信息为:\n");
printf("姓名:%s\t学号:%ld\t成绩:%.1f",student2.name,student2.num,student2.grade);
}else {
printf("学生1的信息为:\n");
printf("姓名:%s\t学号:%ld\t成绩:%.1f",student1.name,student1.num,student1.grade);
printf("\n学生2的信息为:\n");
printf("姓名:%s\t学号:%ld\t成绩:%.1f",student2.name,student2.num,student2.grade);
}
}
结果显示:
请依次输入学生1的姓名、学号和成绩:李白 201 98.3
请依次输入学生2的姓名、学号和成绩:韩信 202 89.9
学生1的信息为:
姓名:李白 学号:201 成绩:98.3
结果显示:
请依次输入学生1的姓名、学号和成绩:周瑜 101 88.8
请依次输入学生2的姓名、学号和成绩:小乔 102 88.8
学生1的信息为:
姓名:周瑜 学号:101 成绩:88.8
学生2的信息为:
姓名:小乔 学号:102 成绩:88.8