输入某年某月某日,判断是这一年的第几天,用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;