老师,我实在找不出错在哪里了,求解

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

qq_Skywalker_2

2017-02-21 20:38

请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天。
程序分析:
  以5月1日为例,应该先把前4个月的天数加起来,然后再加上1天即本年的第几天。
特殊情况:
  在计算闰年的时候,2月是29天。
 #include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
    int date;
    switch(month)
    {
        case 12:
        date+=30;
        case 11:
        date+=31;
        case 10:
        date+=30;
        case 9:
        date+=31;
        case 8:
        date+=31;
        case 7:
        date+=30;
        case 6:
        date+=31;
        case 5:
        date+=30;
        case 4:
        date+=31;
        case 3:
        if(year%400==0||(year%100!=0&&year%4==0))
        {
            date+=29;
           
        }
        else
        {
            date+=28;
        }
        case 2:
        date+=31;
        default:
        date+=8;
        printf("2008年8月8日是该年的第%d天",date);
    break;
    }
   

 return 0;
}


写回答 关注

1回答

  • qq_有名氏_04271796
    2017-02-21 23:06:12

    感觉 date 需要初始化一下呢 我也不是很懂QAQ 小菜鸟一枚~

    还有几个“;”好像也不对 要用半角的。。

C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题