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

为什么我的代码在codeblocks能运行,但在这运行不了

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

      switch(month)
        { case 12: day+=31;
          case 11: day+=30;
          case 10: day+=31;
          case 9:  day+=30;
          case 8:  day+=31;
          case 7:  day+=31;
          case 6:  day+=30;
          case 5:  day+=31;
          case 4:  day+=30;
          case 3:  day+=31;
          case 2:
          {
              if(year%4==0&&year%100!=0||year%400==0)
                {day+=29;}
              else
                {day+=28;}
          }
          case 1:   day+=31;
          break;
        }
        printf("该年中的第%d天",day);
        return 0;
    }


提问者:c小白正式上线 2019-12-05 19:38

个回答

  • 乌晒粥
    2019-12-05 21:41:05

    注意题目给的说明

    程序分析:以5月1日为例,应该先把前4个月的天数加起来,然后再加上1天即本年的第几天。

    你这个思路做的话应该switch(month-1)