m0_73602860 2022-09-16 19:37 采纳率: 75%
浏览 44
已结题

求大lao告知这个怎么改能对,我是刚学不久

img

img

img


求大lao告知这个怎么改能对,我是刚学不久,这个题写的部分正确,哪里错了请指正

  • 写回答

2条回答

  • 痴☞ 2022-09-17 10:30
    关注
    
    #include <stdio.h>
    //辛巳蛇宝男
    int main()
    {
        long long num = 0;
        char name[20];
        scanf("%lld %s", &num,&name);
        while ((num / 100000000 % 10000 == 2001) || (num / 10000000 % 10000 == 2002))
        {
            int year = num / 100000000 % 10000;     //求出年份
            int month = num / 1000000 % 100;        //求出月份 
            int date = num / 10000 % 100;           //求出某日
            int sex = num / 10 % 10;                //判断性别
            //条件2001年1月24日-2002年2月11日为辛巳蛇宝男,可以写成下面这串代码
            int  flag = (((year == 2001 && month > 1) ||(year == 2002 && month < 2) || (year == 2001 && month == 1 && date <= 24) ||(year == 2002 && month == 2 && date <= 11)) && (sex % 2 != 0)) ? 1 : 0; 
            //打印观察一下
            printf("year=%d month=%d date=%d sex=%d flag=%d\n", year, month, date,sex,flag);
            //flag==1,打印YES;flag==0,打印NO
            while (flag == 1)
            {
                printf("YES\n");
                return 0;
            }
            while (flag == 0)
            {
                printf("NO\n");
                return 0;
            }
        }
        //不是2001年和2002出生的打印NO
        printf("NO\n");
        return 0;
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月25日
  • 已采纳回答 9月17日
  • 创建了问题 9月16日