求指点哪里有错误!

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

AKAkeepreal

2019-02-11 22:33

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    switch(month-1)

    {

        case 12:day+=31;

        case 11:day+=30;

        case 10:day+=31;

        case 9:day+=30;

        case 8:day+=31;

        case 7:day+=31;

        case 6:day+=30;

        case 5:day+=31;

        case 4:day+=30;

        case 3:day+=31;

        case 2:

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

        day+=29;

        else

        day+=28;

        case 1:day+=31;

    }

    printf("2008年8月8日这一天是该年第%d天",day);

return 0;

}


写回答 关注

1回答

  • qq_Marshmallow_3
    2019-07-10 17:12:32

    计算闰年的公式错了,闰年是:1、能整除4且不能整除100  2、能整除400 。

    所以应该是   if((year%4==0 && year%100!=0) || (year%400==0))

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题