为了账号安全,请及时绑定邮箱和手机立即绑定

为什么时先12到1呢,先1到12为什么是错误的

#include <stdio.h>

int main() 

    /* 定义需要计算的日期 */

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum=day;

    int run=0;

    if ((year%400==0)||((year%4==0)&&(year/100!=0))){

        run=1;

    }

    

    switch(month){

        case 12: sum+=30;

        case 11: sum+=31;

        case 10: sum+=30;

        case 9: sum+=31;

        case 8: sum+=31;

        case 7: sum+=30;

        case 6: sum+=31;

        case 5: sum+=30;

        case 4: sum+=31;

        case 3: if(run){

            sum+=29;

        }else{

            sum+=28;

        };

        case 2: sum+=31;

        case 1: sum+=0;break;

        default: printf("wrong input");

    }

    

    printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);

    return 0;

}


正在回答

2 回答

我这个代码到底哪里错了呢?

include <stdio.h>

int main() 

    int year = 2008;

    int month = 8;

    int day   = 8;

    switch(day)

    {

        case 1 : day+=31; break;

        case 2: 

        if(2008%400==0||2008%4==0&&2008%100!=0)

        {

            day+=29;

          else

            day+=28;

        } 

        

        case 3 : day+=31; break;

        case 4 : day+=30; break;

        case 5 : day+=31; break;

        case 6 : day+=30; break;

        case 7 : day+=31; break;

        case 8 : day+=31; break;

        case 9 : day+=30; break;

        case 10 :day+=31; break;

        case 11: day+=30; break;

        case 12: day+=31; break;}

printf("2008年8月8日是第%d天");

    


0 回复 有任何疑惑可以回复我~

先12到1:计算的是8及其以下的(即87654321)

先1到12:计算的是8及其以上的(即89101112)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么时先12到1呢,先1到12为什么是错误的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信