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

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

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