问答详情
源自:4-17 switch与if语句的应用

大佬们,帮我看看哪里出错了

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

     * 请使用switch语句,if...else语句完成本题

     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”

     * 小编还是希望大家独立完成哦~

     */

    int date=0;

    switch(month)

    {

        case 1:date+=31;

        break;

        case 2:

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

       { 

           date+=29;

       }

        else

        {

            date+=28;

        }

        break;

        case 3: date+=31;

        break;

        case 4: date+=31;

        break;

        case 5: date+=31;

        break;

        case 6: date+=31;

        break;

        case 7: date+=31;

        break;

        case 8: date+=31;

        break;

        case 9: date+=31;

        break;

        case 10: date+=31;

        break;

        case 11: date+=31;

        break;

        default:date+=8;

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

        break;

    }

    

return 0;

}


提问者:慕莱坞3509929 2020-08-04 10:34

个回答

  • 慕尼黑3535992
    2020-08-05 16:11:16
    已采纳

    不懂你为什么要这样写

    //前面加一个变量int sum=0;

    if(year%4==0。。。。。。。)

    {

    sum+=29;

    }

    else

    {

    sum+=30;

    }

    switch(month)

    {

    case 8:

    sum=day+4*31+2*30;//中间一大堆用这条式子就可以表示了

    }