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

谁可以救救我 我看不出来哪里错了 麻烦了!

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int num;

    /*

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

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

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

     */

     month-=1;

    switch(month)

    {

        case 12:num+31;

        case 11:num+30;

        case 10:num+31;

        case 9:num+30;

        case 8:num+31;

        case 7:num+31;

        case 6:num+30; 

        case 5:num+31;

        case 4:num+30;

        case 3:num+31;

        case 2:if(year%4==0|| year%1000!=0)

                    {

                        num+=29;

                    }

                else

                    {

                        num+=28;

                    }

        case 1:num+31;

        num+=8;

        printf("2008年8月8日是该年中的第%d天",num);

        break;

    }

    


提问者:要啥小苹果 2017-07-24 02:01

个回答

  • 程序员一枚
    2017-07-24 12:44:00
    已采纳

    这个num累加要重一月份开始,month-=1就错了,case12中的num要前面的月份天数累加,你搞反了

  • hrzimooc
    2017-07-24 02:15:30

    你的num是输出值,那就要累加,可是你每个case中num值都重置的,没实现累加啊


  • hrzimooc
    2017-07-24 02:13:48

    你这个思想就错了