骨子108 2022-03-10 14:17 采纳率: 83.3%
浏览 84
已结题

输入某年某月某日,判断是这一年的第几天

输入某年某月某日,判断是这一年的第几天,用c语言,一种方法是if,另一种是swich,求解答

  • 写回答

1条回答 默认 最新

  • 加油吧,小杜 2022-03-10 16:19
    关注

    首先utc时间都是从1970年1月1日0时0分0秒开始计时的。
    你首先要看年是否是闰年。闰年则2月份为29天。非闰年则2月份为28天。
    然后用月份的天数进行相加。最后再加上日就行了
    代码:

    
    int monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};  //12月对应的天数
        int Year,Month,Day;
        cout<<"please intput Year:";
        cin>>Year;
        cout<<"please intput Month:";
        cin>>Month;
        cout<<"please intput Day:";
        cin>>Day;
    
        int Julianday=0;
        if(0==Year%4)
        {
            if(Month>2)
            {
                for(int i=0;i<Month-1;++i)
                {
                    Julianday+=monthday[i];
                }
                Julianday+=Day;
                Julianday+=1;//闰年大于二月份加一天
            }
        }
        else
        {
            for(int i=0;i<Month-1;++i)
            {
                Julianday+=monthday[i];
            }
            Julianday+=Day;
        }
    
        cout<<"Julian Day = "<<Julianday<<endl;
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 请提交代码 3月10日
  • 创建了问题 3月10日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看