我用if-else编写之后,输出是217,是哪里出了问题。

来源:4-17 switch与if语句的应用

谢日天

2019-02-22 02:30

if((year%4==0&&year%100!=0)||year%400==0)
    //判断是否是闰年
    {
        for(m=1;m<=(month-1);m++)
        //把该月份之前月份的天数累加
        {
            if((m<8&&m%2==1)&&(m==8)&&(m>8&&m%2==0))
            //判断是否是大月31天
            {
                score+=31;
            }
            else if(m==2)
            //闰年的二月29天
            {
                score+=29;
            }
            else
            //小月30天
            {
                score+=30;
            }
        }
        score=score+day;
        printf("%d年%d月%d日是该年中的第%d天。\n",
            year,month,day,score);
    }
    else
    {
         for(m=1;m<=(month-1);m++)
        {
            if((m<8&&m%2==1)&&(m==8)&&(m>8&&m%2==0))
            {
                score+=31;
            }
            else if(m==2)
            {
                score+=28;
            }
            else
            {
                score+=30;
            }
        }
        score=score+day;
        printf("%d年%d月%d日是该年中的第%d天。",
            year,month,day,score);

写回答 关注

1回答

  • 小哑师兄
    2019-07-19 18:26:13

    if((m<8&&m%2==1)&&(m==8)&&(m>8&&m%2==0)) 其中是不是包含了2月 7月也是大月

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

927388 学习 · 21538 问题

查看课程

相似问题