这样不行?

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

weixin_慕村3175826

2018-11-08 23:13

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    int sum;
        switch(month)
        {
            case 1:sum=0;
            break;
            case 2:sum=31;
            break;
            case 3:sum=31+28;
            break;
            case 4:sum=31+28+31;
            break;
            case 5:sum=31+28+31+30;
            break;
            case 6:sum=31+28+31+30+31;
            break;
            case 7:sum=31+28+31+30+31+30;
            break;
            case 8:sum=31+28+31+30+31+30+31;
            break;
            case 9:sum=31+28+31+30+31+30+31+31;
            break;
            case 10:sum=31+28+31+30+31+30+31+31+30;
            break;
            case 11:sum=31+28+31+30+31+30+31+31+30+31;
            break;
            case 12:sum=31+28+31+30+31+30+31+31+30+31+30;
            break;
            default:
            printf("一年只有十二个月哟\n");break;
        }
        sum+=day;
        if(year/4==0&&year/100!=0||year/400==0)
        {
            if(month>=2)
            {
               sum++;
               day+=sum;
            }
            else
            day+=sum;
            printf("%d年的第%d天\n",year,day);
        }
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
    return 0;
}

写回答 关注

1回答

  • 小小的植物
    2018-11-09 21:45:51

    #include <stdio.h>

    int main() 

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

        int year = 2008;

        int month = 8;

        int day = 8;

        int sum;

            switch(month)

            {

                case 1:sum=0;

                break;

                case 2:sum=31;

                break;

                case 3:sum=31+28;

                break;

                case 4:sum=31+28+31;

                break;

                case 5:sum=31+28+31+30;

                break;

                case 6:sum=31+28+31+30+31;

                break;

                case 7:sum=31+28+31+30+31+30;

                break;

                case 8:sum=31+28+31+30+31+30+31;

                break;

                case 9:sum=31+28+31+30+31+30+31+31;

                break;

                case 10:sum=31+28+31+30+31+30+31+31+30;

                break;

                case 11:sum=31+28+31+30+31+30+31+31+30+31;

                break;

                case 12:sum=31+28+31+30+31+30+31+31+30+31+30;

                break;

                default:

                printf("一年只有十二个月哟\n");break;

            }

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

            {

                if(month>=2)

                {

                   sum+=1; 

                   day+=sum;

                printf("2008年8月8日是该年的第%d天",day);

                }

    }

            else

    {  

    day+=sum;

       printf("2008年8月8日是该年的第%d天",day);

    }


        /*

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

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

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

         */

        return 0;

    }


C语言入门

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

926028 学习 · 20793 问题

查看课程

相似问题