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

这样写的结果为什么不对

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;


    int sum,f;
    switch(month)
    {
       case 1:sum=0;
       break;
        case 2:sum+=31;
        break;
        case 3:sum+=28;
        break;
        case 4:sum+=31;
        break;
        case 5:sum+=30;
        break;
        case 6:sum+=31;
        break;
        case 7:sum+=30;
        break;
        case 8:sum+=31;
        break;
        case 9:sum+=31;
        break;
        case 10:sum+=30;
        break;
        case 11:sum+=31;
        break;
        case 12:sum+=30;
        break;
        case 13:sum+=31;
        break;
       
    }
    sum+=day;
    if(year%4==0)
    {
        f=1;}
    else
    {f=0;}
    if(f==1&&month>2)
    sum++;
   
    printf("2008年8月8日是该年的第%d天\n",sum);


 return 0;
}


提问者:慕慕0074803 2019-06-25 20:43

个回答

  • qq_精慕门5286573
    2019-06-25 20:58:50

    你这个。。。sum在分支中一直加。。。加到11即可