nicaiwo123321 2016-07-28 06:26 采纳率: 100%
浏览 886
已采纳

vc++ 问题 结果为什么是这样?

图片说明

  • 写回答

3条回答 默认 最新

  • 小灸舞 2016-07-28 08:01
    关注

    1.改成空格分隔就好
    2.输入的时候用空格分隔:lilei 12 m s

     #include <stdio.h>
    #define FORMAT "%s %d %c %c %d\n"
    struct
    {
        int num;
        char name[5];
        char sex;
        char job;
        union
        {
            int banji;
            char position[10];
        } category;
    } person[2];
    
    void main()
    {
        int n, i;
        for (i = 0; i<2; i++)
        {
    
            scanf("%s %d %c %c", &person[i].name, &person[i].num, &person[i].sex, &person[i].job);
    
            if (person[i].job == 's')
            {
                printf("input a banji\n");
                scanf("%d", &person[i].category.banji);
            }
            else if (person[i].job == 't')
            {
                printf("input a position\n");
                scanf("%s", &person[i].category.position);
            }
            else printf("input error\n");
        }
        printf("\n");
        printf("Name No. sex job class/position\n");
        for (i = 0; i<2; i++)
        {
            if (person[i].job == 's')
                printf(FORMAT, person[i].name, person[i].num, person[i].sex, person[i].job, person[i].category.banji);
            else
                printf(FORMAT, person[i].name, person[i].num, person[i].sex, person[i].job, person[i].category.position);
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。