struct结构体的练习题,跟据不同的条件输出学生的信息

题目要求:
输入两个学生的学号、姓名和成绩,输出成绩较高学生的学号、姓名和成绩

解题思路:
(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
发布了195 篇原创文章 · 获赞 76 · 访问量 6989

猜你喜欢

转载自blog.csdn.net/qq_45696288/article/details/104950109