为什么我这个输出有问题啊

来源:4-17 switch与if语句的应用

qq_匆匆过客_nF1239

2018-12-13 00:05


#include <stdio.h>

int main()

{

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum=0;

    /*

     * 请使用switch语句,if...else语句完成本题

     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”

     * 小编还是希望大家独立完成哦~

     */

    switch(month)

    {

        case(1):

            sum=day;break;

        case(2):

            sum=31+day;break;

        case(3):

            sum=31+28+day;break;

        case(4):

            sum=31*2+28+day;break;

        case(5):

            sum=31*2+30*1+28+day;break;

        case(6):

            sum=31*3+30*1+28+day;break;

        case(7):

            sum=31*3+30*2+28+day;break;

        case(8):

            sum=31*4+30*2+28+day;break;

        case(9):

            sum=31*5+30*2+28+day;break;

        case(10):

            sum=31*5+30*3+28+day;break;

        case(11):

            sum=31*6+30*3+28+day;break;

        case(12):

            sum=31*6+30*4+28+day;break;

    }

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

    {

        sum=sum+1;

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

    }

    else

    {

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

    }

return 0;

}


写回答 关注

1回答

  • 慕先生4263329
    2018-12-13 15:02:28

    #include <stdio.h>

    int main()

    {

        int sum = 0;

        int i;

        for(i=1; i<=10; i++)

        {

            printf("%d\n", i);

            if(i==3)//是不是少了一个判断呢?

            {

                goto END0;

            }                    //在这里使用goto语句

        }

        END0:printf("结束for循环了....");  //请选择合适位置添加标识符

        return 0;    

    }


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题