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

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

c小白正式上线

2019-12-05 19:38

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


写回答 关注

1回答

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

    注意题目给的说明

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

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

    乌晒粥

    还要加个0月case 0:

    2019-12-05 21:45:07

    共 1 条回复 >

C语言入门

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

926212 学习 · 20797 问题

查看课程

相似问题