求大佬解答

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

Suang67

2018-09-23 09:27

https://img3.mukewang.com/5ba6ebdf00018c7910840585.jpg这是什么意思??

写回答 关注

3回答

  • 醉酒一逍遥
    2018-09-24 17:22:02

    #include <stdio.h>

    int main() 

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

        int year = 2008;

        int month = 8;

        int day = 8;

        int sumday;


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

        {

        switch(month)

           {

            case 1: sumday=day; break;

            case 2: sumday=31+day;break;

            case 3: sumday=31+29+day;break; 

            case 4: sumday=31+29+31+day;break;

            case 5: sumday=31+29+31+30+day;break;

            case 6: sumday=31+29+31+30+31+day;break;

            case 7: sumday=31+29+31+30+31+30+day;break;

            case 8: sumday=31+29+31+30+31+30+31+day;break;

            case 9: sumday=31+29+31+30+31+30+31+31+day;break;

            case 10: sumday=31+29+31+30+31+30+31+31+30+day;break;

            case 11: sumday=31+29+31+30+31+30+31+31+30+31+day;break;

            case 12: sumday=31+29+31+30+31+30+31+31+30+31+30+day;break;

           }   

        }

        else 

        {

        switch(month)

        {

            case 1: sumday=day;break;

            case 2: sumday=31+day;break;

            case 3: sumday=31+28+day;break;

            case 4: sumday=31+28+31+day;;break;

            case 5: sumday=31+28+31+30+day;break;

            case 6: sumday=31+28+31+30+31+day;break;

            case 7: sumday=31+28+31+30+31+30+day;break;

            case 8: sumday=31+28+31+30+31+30+31+day;break;

            case 9: sumday=31+28+31+30+31+30+31+31+day;break;

            case 10: sumday=31+28+31+30+31+30+31+31+30+day;break;

            case 11: sumday=31+28+31+30+31+30+31+31+30+31+day;break; 

            case 12: sumday=31+28+31+30+31+30+31+31+30+31+30+day;break;

        }

        }

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

        return 0;

    }

    这个我写的,你应该能看懂。

  • 啊哒哒哒哒哒哒
    2018-09-23 10:33:14

    不对,我改下,闰年不是这样定义的

    #include <stdio.h>

    int main()

    {

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

        int year = 2008;

        int month = 8;

        int day = 8;

        int i,j,result,k,l;

        i=0,j=0,l=0;

        /*

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

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

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

         */

        for(k=1;k<month;k++)

        {

          switch(k)

          {

              case 1:

              case 3:

              case 5:

              case 7:

              case 8:

              case 10:

              case 12:

              i+=31;

              break;

              case 2:

              l+=28;

              break;

              case 4:

              case 6:

              case 9:

              case 11:

              j+=30;

              break;

          }

        }

        result=i+j+l+day;

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

        {

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

        }

            else

            {

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

            }

    return 0;

    }


    啊哒哒哒哒哒... 回复湘滦

    最底下为闰年+1

    2018-09-24 06:33:34

    共 2 条回复 >

  • 啊哒哒哒哒哒哒
    2018-09-23 10:24:57

    试试我这个

    #include <stdio.h>

    int main()

    {

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

        int year = 2008;

        int month = 8;

        int day = 8;

        int i,j,result,k,l;

        i=0,j=0,l=0;

        /*

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

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

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

         */

        for(k=1;k<month;k++)

        {

          switch(k)

          {

              case 1:

              case 3:

              case 5:

              case 7:

              case 8:

              case 10:

              case 12:

              i+=31;

              break;

              case 2:

              l+=28;

              break;

              case 4:

              case 6:

              case 9:

              case 11:

              j+=30;

              break;

          }

        }

        result=i+j+l+day;

        if(year%4==0)

        {

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

        }

            else

            {

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

            }

    return 0;

    }


C语言入门

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

926896 学习 · 21532 问题

查看课程

相似问题