为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬解答

https://img1.sycdn.imooc.com//5ba6ebdf00018c7910840585.jpg这是什么意思??

正在回答

3 回答

#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;

}

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

0 回复 有任何疑惑可以回复我~

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

#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;

}


0 回复 有任何疑惑可以回复我~
#1

湘滦

老哥你还差了 月份是否大于2月的判断以及是否是2.29的判断
2018-09-24 回复 有任何疑惑可以回复我~
#2

啊哒哒哒哒哒哒 回复 湘滦

最底下为闰年+1
2018-09-24 回复 有任何疑惑可以回复我~

试试我这个

#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;

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       927059    人
  • 解答问题       21534    个

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

进入课程

求大佬解答

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号