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

小编这个思路行不行,连for循环一起加上吧

#include <stdio.h>

int main() 

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

    int year=2008;

    int month=8;

    int day=8;

    /*

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

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

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

     */

    int m,n,sum=day;

    for(m=0;m<month;m++)

    {

        switch(m)

        {

            case 11: n=30; break;    

            case 10: n=31; break;

            case 9: n=30; break;

            case 8: n=31; break;

            case 7: n=31; break;

            case 6: n=30; break;

            case 5: n=31; break;

            case 4: n=30; break;

            case 3: n=31; break;

            case 2:

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

                {

                    n=29;

                }

                else

                    n=28;

                break;

            case 1: n=31; break;

            case 0: n=0; break;

        }

        sum+=n;

    }

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

return 0;

}


提问者:Yes_大饼3647708 2016-07-12 01:37

个回答

  • 慕九州3232585
    2016-07-12 13:11:38
    已采纳

    思路是对的,但是case 2条件语句写错了,把!==改成!= 就成功了。

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