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

这个代码有什么问题?求大神帮助 谢谢!

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month =8;

    int day = 8;

    /*

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

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

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

     */

    

    int s=0;

    switch(month)

    {

        case 1:s=0;break;

        case 2:s+=31;break;

       if(year%400=0||year%100=0)

        {

            s+=29;

        }

        else

        {

            s+=28;

        }

        case 3:s;break; 

        case 4:s+=31;break;

        case 5:s+=30;break;

        case 6:s+=31;break;

        case 7:s+=30;break;

        case 8:s+=31;break;

        case 9:s+=31;break;

    }

    s=s+day;

    printf("%d年%d月%d日这一天,是该年中的第%d天。",year,month,day,s)


return 0;

}


提问者:执手画天地 2018-08-23 13:36

个回答

  • MEMORY_WITH_U
    2018-08-23 18:22:52
    已采纳

    不对 看了一下 case里面的s是不累加的

    所以是你switch没搞清楚定义

  • MEMORY_WITH_U
    2018-08-23 18:19:54

    case 2:s+=31;break; 就ok了

    后面的判断语句和s=s+day重复了