为什么运行错误啊

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

慕神4095465

2019-05-22 10:22

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

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

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

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

     */

     switch(month)

     {

         case 1:sum=31;

         break;

         case 2:sum=59;

         break;

         case 3:sum=90;

         break;

         case 4:sum=120;

         break;

         case 5:sum=151;

         break;

         case 6:sum=181;

         break;

         case 7:sum=212;

         break ;

         case 8:sum=242;

         break;

         default :printf("是第%d天",sum);

         break;

     }

     sum+=day;

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

     flag=1;

     else

     flag=0;

     if(flag==1&&month>2)

     sum++;

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

     return 0;

}


写回答 关注

1回答

  • 慕码人3745668
    2019-05-22 11:34:55

    #include <stdio.h>


    int main() 



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


        int year = 2008;


        int month = 8;


        int day = 8;

        int sum,flag;


        /*


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


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


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


         */


         switch(month)


         {


             case 1:sum=31;


             break;


             case 2:sum=59;


             break;


             case 3:sum=90;


             break;


             case 4:sum=120;


             break;


             case 5:sum=151;


             break;


             case 6:sum=181;


             break;


             case 7:sum=212;


             break ;


             case 8:sum=242;


             break;


             default :printf("是第%d天",sum);


             break;


         }


         sum+=day;


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


         flag=1;


         else


         flag=0;


         if(flag==1&&month>2)


         sum++;


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


         return 0;


    }

    小结:

    sum,flag 没有生命,其次输出语句漏了一个赋值符

C语言入门

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

926217 学习 · 20797 问题

查看课程

相似问题