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

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

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

  • 写回答

1条回答 默认 最新

  • 关注

    首先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日