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

整不懂 结果是9.。。。

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day_1 = 8;
    int day;
    int sum=0;
    int i=0;
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
    for(i;i<=month;i++)
    {
        switch(i)
        {
            case1:
                day=31;
                break;
            case2:
                day=28;
                break;
            case3:day=31;
            break;
            case4:day=30;
            break;
            case5:day=31;
            break;
            case6:day=30;
            break;
            case7:day=31;
            break;
            case8:day=31;
            break;
            case9:day=30;
            break;
            case10:day=31;
            break;
            case11:day=30;
            break;
            case12:day=31;
            break;
             sum +=day;
            sum=day+day_1;

          }
    if(year%4 == 0)
        sum++;
    }
    printf("%d年%d月%d日,是该年的第%d天\n",year,month,day_1,sum);
    
    return 0;
}

提问者:菜菜狠厉害 2019-07-25 13:39

个回答

  • 菜菜狠厉害
    2019-07-25 18:08:13

    运行成功 ,输出错误   这块是哪错了啊?

    #include <stdio.h>
    int main()
    {
        /* 定义需要计算的日期 */
        //int year = 2008;
        int month = 8;
        //int day_1 = 8;
        int i,day;
        int sum=1;
        for(i;i<=month;i++)
        {
            switch(i)
            {
                case 1 :
                    day=31;
                    break;
                case 2:
                    day=28;
                    break;
                case 3:day=31;
                break;
                case 4:day=30;
                break;
                case 5:day=31;
                break;
                case 6:day=30;
                break;
                case 7:day=31;
                break;
                case 8:day=31;
                break;
                case 9:day=30;
                break;
                case 10:day=31;
                break;
                case 11:day=30;
                break;
                case 12:day=31;
                break;
                sum=sum+day;
                printf("%d",sum);
            }  
        }
        return 0;
    }

  • 菜菜狠厉害
    2019-07-25 17:46:09

    #include <stdio.h>
    int main()
    {
        /* 定义需要计算的日期 */
        int year = 2008;
        int month = 8;
        int day = 8;
        int i,feb;
        int sum=0;
        /*
         * 请使用switch语句,if...else语句完成本题
         * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
         * 小编还是希望大家独立完成哦~
         */
        if(year%4 == 0)
            {
                feb=29;
            }
        else
            {
                feb=28;
            }
        for(i=1;i<month;i++)
            switch(i)
            {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                sum +=31;
                break;
            
                case 2:
                    sum +=feb;
                break;
            
                default:
                    sum +=30;
                break;
        
            }
        sum=sum+day;    
        printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);
        return 0;
    }

  • 小小疾飞
    2019-07-25 14:06:36

    你好,又见面了,case1 这个是什么?