switch与if语句的应用

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

慕慕6272356

2020-02-28 15:00

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

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

   {

       switch(month)

       {

           case 1:day=day;break;

           case 2:day=31+day;break;

           case 3:day=60+day;break;

           case 4:day=91+day;break;

           case 5:day=121+day;break;

           case 6:day=152+day;break;

           case 7:day=182+day;break;

           case 8:day=213+day;break;

           case 9:day=244+day;break;

           case 10:day=274+day;break;

           case 11:day=305+day;break;

           case 12:day=335+day;break;

       }

   }

   else

   {

     switch(month)

       {

           case 1:day=day;break;

           case 2:day=31+day;break;

           case 3:day=59+day;break;

           case 4:day=90+day;break;

           case 5:day=120+day;break;

           case 6:day=151+day;break;

           case 7:day=181+day;break;

           case 8:day=212+day;break;

           case 9:day=243+day;break;

           case 10:day=273+day;break;

           case 11:day=304+day;break;

           case 12:day=334+day;break;

       }  

   }

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

  return 0;

}

这样也是对的

写回答 关注

1回答

  • qq_慕神1524904
    2020-02-28 15:27:37
    #include <stdio.h>
        int main() 
        {
        int year = 2008;    
        int month = 8;    
        int day = 8;
        int sum;
        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;
        if((year%4==0&&year%100!=0)||year%400==0)
        {
            sum++;
            break;
        }
        printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);
    }


C语言入门

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

926207 学习 · 20797 问题

查看课程

相似问题