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

大佬们,帮我康康!

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







提问者:枫烽火 2021-01-27 17:29

个回答

  • zong28
    2021-01-31 12:01:46
    已采纳

    printf后面用的是  ,  不是  ;  

    还有最后面少了   }

  • zong28
    2021-01-31 12:18:37

    #include <stdio.h>


    int main()


    {

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

        int year = 2008;

        int month = 8;

        int day = 8;

        int sum;

        int part1;

        int part2;

        int part3;

        int part4;

        int part5;

        int part6;

        int part7;


        /*


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


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


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


         */


         for(month=1; month<8; month++)

        switch(month)

        {

            case 1:  part1 = month*0 + 31;

            break;


            case 3:  part3 = month*0 + 31;

            break;


            case 5:  part5 = month*0 + 31;

            break;


            case 7:

            part7 = month*0 + 31;

            break;

            

            case 4: part4 = month*0 + 30;


            break;


            case 6:


            part6 = month*0 + 30;


            break;


            case 2:


            part2 = month*0 + 29;


            break;


             }


             sum= part1 + part2 + part3 +part4+part5+part6+part7+ day;


             printf("%d月%d日是%d年的第%d天",year,month,day,sum);


             return 0;


    }


  • zong28
    2021-01-31 11:59:44

    #include <stdio.h>

    int main()

    {

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

        int year = 2008;

        int month = 8;

        int day = 8;

        int sum;

        int part1;

        int part2;

        int part3;

        /*

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

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

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

         */

         for(month=1; month<8; month++)

        switch(month)

        {

            case 1:

            case 3:

            case 5:

            case 7:

            part1 = month*0 + 31;

            break;


            case 4:

            case 6:

            part2 = month*0 + 30;

            break;


            case 2:

            part3 = month*0 + 29;

            break;


             }


             sum= part1 + part2 + part3 + day;

             printf("%d月%d日是%d年的第%d天",year,month,day,sum);

             return 0;

    }


  • qq_慕勒3496373
    2021-01-29 20:32:21

    没看懂,part1/2/3的表示,我用的sum += 31/30/28,再加一个闰年的判断,month最好不要用来写循环,最后打印用到了month,可以再定义一个变量i写循环