毕万 2023-12-31 17:45 采纳率: 76.9%
浏览 2
已结题

结构体变量的定义及应用

img


能不能帮忙完成一下这个程序,最主要的问题是,我一但用scanf输入学生的信息,马上就会没有输出结果,这是为什么

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2023-12-31 18:53
    关注

    供参考:

    #include <stdio.h>
    #include <string.h>
    struct date
    {
        int year;
        int month;
        int day;
    };
    struct stu
    {
        int num;
        char name[20];
        char sex;
        struct date birth;
        float score;
    };
    int main()
    {
        struct stu s1 = { 10010,"zhangsan",'m',2000,5,4,84.5 }, s2, s3;
        /**********输入学生信息存放在变量s2中*********/
        /************* Begin ***********/
        scanf("%d %s %c %d %d %d %f", &s2.num, s2.name, &s2.sex, &s2.birth.year, &s2.birth.month, &s2.birth.day, &s2.score);
        /************** End ***********/
        /**********交换两个结构体变量s1和s2**********/
        /************* Begin ***********/
        s3 = s1; s1 = s2; s2 = s3;
        /************** End ***********/
        /**********输出结构体变量s1和s2的成员*********/
        /************* Begin ***********/
        printf("学号:%d\n姓名:%s\n性别:%c\n出生日期:%d年%d月%d日\n成绩:%.0f\n", s1.num, s1.name, s1.sex, s1.birth.year, s1.birth.month, s1.birth.day, s1.score);
        printf("学号:%d\n姓名:%s\n性别:%c\n出生日期:%d年%d月%d日\n成绩:%.0f\n", s2.num, s2.name, s2.sex, s2.birth.year, s2.birth.month, s2.birth.day, s2.score);
        /************** End ***********/
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月8日
  • 已采纳回答 12月31日
  • 创建了问题 12月31日