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

成功了方便大家借鉴

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
   int sum=0;
    if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0))
    {
        switch(month)
        {
        case 1:
        sum=0;
        break;

        case 2:
        sum=31;
        break;

        case 3:
        sum=60;
        break;

        case 4:
        sum=91;
        break;

        case 5:
        sum=121;
        break;

        case 6:
        sum=152;
        break;

        case 7:
        sum=182;
        break;

        case 8:
        sum=213;
        break;

        case 9:
        sum=244;
        break;

        case 10:
        sum=274;
        break;

        case 11:
        sum=305;
        break;

        case 12:
        sum=335;
        break;
        }
     sum=sum+day;
     printf("%d年%d月%d日是该年的第%d天\n",year,month,day,sum);
    }
    else
    { switch(month)
        {
        case 1:
        sum=0;
        break;

        case 2:
        sum=31;
        break;

        case 3:
        sum=60;
        break;

        case 4:
        sum=91;
        break;

        case 5:
        sum=121;
        break;

        case 6:
        sum=152;
        break;

        case 7:
        sum=182;
        break;

        case 8:
        sum=213;
        break;

        case 9:
        sum=244;
        break;

        case 10:
        sum=274;
        break;

        case 11:
        sum=305;
        break;

        case 12:
        sum=335;
        break;
        }
     sum=sum+day-1;
        printf("%d年%d月%d日是该年的第%d天\n",year,month,day,sum);
    }
    return 0;
}

提问者:weixin_慕丝8289163 2022-05-07 12:04

个回答

  • 慕妹2586256
    2022-09-19 14:51:33

    //你可以试试不用break从12月开始,只要大上每一月天数就okde