大佬们,这是错哪了

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

weixin_慕沐5236896

2021-11-12 14:12

#include <stdio.h>
int main()
{

    int year = 2008;
    int month = 8;
    int day = 8;

    int a,b;
    switch(month)
    {
        case 1:a=0;
            break;
        case 2:a=31;
            break;
        case 3:a=59;
            break;
        case 4:a=90;
            break;
        case 5:a=120;
            break;
        case 6:a=151;
            break;
        case 7:a=181;
            break;
        case 8:a=212;
            break;
        case 9:a=242;
            break;
        case 10:a=273;
            break;
        case 11:a=304;
            break;
        case 12:a=334;
            break;
        default:printf("*");
            break;
    }
    if(year%400==0||(year%4==0 && year%100!=0))
        b=1;
    else
        b=0;
    if(b==1&&month>2)
        a++;
    printf("%d年%d月%d日这一天,是该年中的第%d天",year,month,day,a);
    return 0;
}


写回答 关注

2回答

  • qq_慕UI3036048
    2021-11-18 19:44:12

    你哪个闰年条件在你这个程序中明显是多余的

  • 神之吴涛
    2021-11-13 14:13:58

    在 swich函数后面加一个  


        a=a+day;

        

    你原来输出的21天只是前面七个月的日数总和,而所求的事8月8日,所以还要再加上8日。

C语言入门

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

926209 学习 · 20797 问题

查看课程

相似问题