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

算出来刚好比答案多31天,可case1 时不就是有31 天马

#include <stdio.h>
int main()
{
    int year = 2008;
    int month = 8;
    int day =8;
    int sum,i;
    if((year%4==0&&year%100!=0)||year%400==0)
   {
    i=29;
   }
    else
    {
    i=28;
    }
   
    switch(month)
{
    case 1:sum=31;break;
    case 2:sum=31+i;break;
    case 3:sum=31+i+31;break;
    case 4:sum=31+i+31+30;break;
    case 5:sum=31+i+31+30+31;break;
se 11:sum=31+i+31+30+31+30+31+31+30+31+30;break;
    case 12:sum=31+i+31+30+31+30+31+31+30+31+30+31;break;

}
    sum+=day;
printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);
    return 0;
}
   
        case 6:sum=31+i+31+30+31+30;break;
    case 7:sum=31+i+31+30+31+30+31;break;
    case 8:sum=31+i+31+30+31+30+31+31;break;
    case 9:sum=31+i+31+30+31+30+31+31+30;break;
    case 10:sum=31+i+31+30+31+30+31+31+30+31;break;
    ca
   
   
   
   


提问者:qq_tor_1 2018-09-01 13:01

个回答

  • 清顔
    2018-09-03 13:41:59
    已采纳

    1月的时候不能算31天,比如他问你2008年1月8号是第几天的话,应该是第8天,过完1月到2月才能加31

  • 慕哥2011577
    2018-09-14 18:13:05

    8月份 只能加 8天

  • qq_tor_1
    2018-09-01 13:04:43

    #include <stdio.h>
    int main()
    {
        int year = 2008;
        int month = 8;
        int day =8;
        int sum,i;
        if((year%4==0&&year%100!=0)||year%400==0)
       {
        i=29;
       }
        else
        {
        i=28;
        }
       
        switch(month)
    {
        case 1:sum=31;break;
        case 2:sum=31+i;break;
        case 3:sum=31+i+31;break;
        case 4:sum=31+i+31+30;break;
        case 5:sum=31+i+31+30+31;break;

     case 6:sum=31+i+31+30+31+30;break;

         case 7:sum=31+i+31+30+31+30+31;break;
        case 8:sum=31+i+31+30+31+30+31+31;break;
        case 9:sum=31+i+31+30+31+30+31+31+30;break;
        case 10:sum=31+i+31+30+31+30+31+31+30+31;break;
        case 11:sum=31+i+31+30+31+30+31+31+30+31+30;break;
        case 12:sum=31+i+31+30+31+30+31+31+30+31+30+31;break;

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