为啥我用DEVC++能运行成功,有啥错,我看不懂兄弟们

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

humb13

2022-10-25 14:47

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum ;

    /*

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

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

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

     */

    

   

    

    if(year%4==0&&(year%100)!=0)

    {

        switch(month)

        {

            case 1 :sum=0;  break;

            case 2 :sum=31; break;

            case 3 :sum=60; break;

            case 4 :sum=91; break;

            case 5 :sum=121;break;

            case 6 :sum=152;break;

            case 7 :sum=182;break;

            case 8 :sum=213;break;

            case 9 :sum=244;break;

            case 10:sum=274;break;

            case 11:sum=305;break;

            case 12:sum=335;break;

           

        }

        sum+=day;

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

    }

    else

    {

        switch(month)

        {

            case 1 :sum=0;  break;

            case 2 :sum=31; break;

            case 3 :sum=59; break;

            case 4 :sum=90; break;

            case 5 :sum=120;break;

            case 6 :sum=151;break;

            case 7 :sum=181;break;

            case 8 :sum=212;break;

            case 9 :sum=243;break;

            case 10:sum=273;break;

            case 11:sum=304;break;

            case 12:sum=334;break;

        }      

        sum+=day;

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

    }


    return 0;

        

}


写回答 关注

1回答

  • 慕运维2469636
    2022-10-25 20:23:50

    你这个printf和它的标准答案不一样就会说输出错误,尽管你的过程是全对的

    他的printf应该这样printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);

    你试试把你的printf("今天是%d年%d月%d日,是该年的第%d天",year,month,day,sum);换成我发的,就会显示正确了

C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题