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

这个哪里错了,检查几遍检查不出来,错误也看不懂。

#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=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;
        default:("一年中只有12个月~~");break;
    }
       sum=sum+day;
       if(year%400==0)
       flag=1;
        else
       flag=0;
       if(flag==1&&month>2)
       sum++;
       printf("%d年%d月%d日是改年第%d天",year,month,day,sum);
      
       return 0;
      
       
}
   
   
   
   
   


 return 0;
}


提问者:七厘阳光 2019-05-25 21:06

个回答

  • 慕村6429549
    2019-06-04 16:35:28

    你的swtich语句最后的default语句中没有加printf


  • 慕慕7322641
    2019-06-01 15:49:01

    if(year%400==0)这里代码没有写全,闰年除了被400除还有被4除同时不能被100除


  • qq_慕仔3378391
    2019-05-25 23:49:27

    把if else 提到前面试试!