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

想问下各位大佬这道题是怎么算的 ~

.......

提问者:新手银白小狮郎 2018-08-17 19:02

个回答

  • 天然的纯指挥
    2018-08-18 16:41:38
    已采纳

    #include <stdio.h>
    int main()
    {
        /* 定义需要计算的日期 */
        int year = 2008;
        int month = 8;
        int day = 8;
        int sum=8;
        int flag;
        /*
         * 请使用switch语句,if...else语句完成本题
         * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
         * 小编还是希望大家独立完成哦~
         */
        switch(month)
        {
            case 12: sum=sum+30;
            case 11: sum=sum+31;
            case 10: sum=sum+30;
            case 9:  sum=sum+31;
            case 8:  sum=sum+31;
            case 7:  sum=sum+30;
            case 6:  sum=sum+31;
            case 5:  sum=sum+30;
            case 4:  sum=sum+31;
            case 3:  sum=sum+28;
            case 2:  sum=sum+31;
            case 1:  break;
        }
        if(year%4 == 0&&year%100 != 0)
        {
            flag=1;
        }
        if(flag == 1&&month > 2)
        {
            sum=sum+1;
        }
        printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);

     return 0;
    }

    ---代码参考如上---

    switch是一个一次性结构,会跳转至对应的case开始执行,执行完一条case代码块后,,如果没有碰到break;会继续执行下一条case代码块,直到遇到break;跳出switch结构为止