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

来源:4-17 switch与if语句的应用

执手画天地

2018-08-23 13:36

#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;

}


写回答 关注

2回答

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

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

    所以是你switch没搞清楚定义

    执手画天地

    那我应该怎么做?

    2018-08-23 20:22:07

    共 2 条回复 >

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

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

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


    MEMORY...

    此楼作废

    2018-08-23 18:23:22

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926025 学习 · 20793 问题

查看课程

相似问题