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

请问这个程序哪里出错了?求大神

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int flag,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;

       default:printf("\n");break;

       

   }

   sum+=day;

   if(year%4==0 && year%100!=0||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;

}


提问者:一个想自我增值的男孩子 2015-09-12 19:03

个回答

  • Virture
    2015-09-14 15:23:43
    已采纳

    #include <stdio.h>

    int main() 

    {

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

        int year = 2008;

        int month = 8;

        int day = 8;

        int flag,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;

           default:printf("\n");break;

       }

       sum+=day;

       if(year%4==0 && year%100!=0||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;

    }

    我就只改个逗号,这是我能通过的代码

  • 没关系我牵你走
    2015-09-12 22:45:30

    倒数第三行的第一个逗号 改成英文逗号 程序出错后 你看看错误提示 就能看出来了

  • Virture
    2015-09-12 21:53:37

    printf("%d年%d月%d日是该年的第%d天"后面的逗号是中文字符