hehehe同学今天有努力 2022-04-15 17:32 采纳率: 82.8%
浏览 23
已结题

有两个人(一个学生,一个teacher)。要求用同一个表格处理,然后输出

题目描述:
有两个人(一个学生,一个teacher)。学生的数据中包括姓名,号码,性别,职业,班级。teacher的数据中包括姓名,号码,性别,职业,职务。要求用同一个表格来处理。
源码如下:

img


疑惑点:
结果不正确,不知道哪儿错了,求解答!

  • 写回答

1条回答 默认 最新

  • a5156520 2022-04-17 11:37
    关注

    应该是scanf的说明符需要修改,说明符在各个参数之间加上一个空格,就可以了,不加空格%c会把输入中的空格读入%c对应的变量,然后产生错误,修改如下:

    #include <stdio.h>
    
    struct {
        int num;
        char name[20];
        char sex;
        char job;
        union{
            int clas;
            char p[10];
        } A;
    }B[2]; 
    
    int main(void){
        int i;
        for(i=0;i<2;i++){
            scanf("%d %s %c %c",&B[i].num,B[i].name,&B[i].sex,&B[i].job);
            if(B[i].job=='s'){
                scanf("%d",&B[i].A.clas);
            }else if(B[i].job=='t'){
                scanf("%s",B[i].A.p);
            }else{
                printf("error!");
            }
        }
        
        printf("\n");
        
        for(i=0;i<2;i++){
            if(B[i].job=='s'){
                printf("%d %s %c %c %d\n",B[i].num,B[i].name,B[i].sex,B[i].job,B[i].A.clas);
            }else{
                printf("%d %s %c %c %s\n",B[i].num,B[i].name,B[i].sex,B[i].job,B[i].A.p);
            } 
        }
        
        return 0;
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月7日
  • 创建了问题 4月15日

悬赏问题

  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题