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

各位大哥大姐们帮忙看看哪里错了,一直输出失败

#include <stdio.h>

int main() 

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum, flag;

    switch(month)

    {

        case 1:sum=0;break;

        case 2:sum=31;break;

        case 3:sum=59;break;

        case 4:sum=98;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("一年当中只有12个月哦~");break;

    }

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

        flag =1;

    else

        flag =0;

    if(flag == 1&&month>2)

        sum++;

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

        return 0;

}


提问者:慕粉1470407156 2017-02-13 00:46

个回答

  • 彬忆
    2017-02-13 10:13:25
    已采纳

    你的( default:printf("一年当中只有12个月哦~");),这里的分号是中文状态下的分号,把它改成英文状态下下的分号就可以了

    #include <stdio.h>

    int main()

    {

        int year = 2008;

        int month = 8;

        int day = 8;

        int sum, flag;

        switch(month)

        {

            case 1:sum=0;break;

            case 2:sum=31;break;

            case 3:sum=59;break;

            case 4:sum=98;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("一年当中只有12个月哦~");break;

        }

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

            flag =1;

        else

            flag =0;

        if(flag == 1&&month>2)

            sum++;

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

            return 0;

    }


        


  • 20163559086
    2017-03-20 13:37:29

    #include <stdio.h>

    int main() 

        int year = 2008;

        int month = 8;

        int day = 8;

        int sum, flag;

        switch(month)

        {

            case 1:sum=0;break;

            case 2:sum=31;break;

            case 3:sum=59;break;

            case 4:sum=98;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("一年当中只有12个月哦~");break;

        }

    sum=sum+day;

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

            flag =1;

        else

            flag =0;

        if(flag == 1&&month>2)

            sum++;

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

            return 0;

    }


  • qq_椰汁_0
    2017-02-13 10:09:04

    default:printf("一年当中只有12个月哦~");break;中的;应该用英文的