根据输入的日期,计算是这一年的第几天 测试用例有多组,注意循环输入
比如:输入2020 -1-15
输出是:15
输入2019-12-31
输出是: 365
给定我们一日期,让我们计算是这年的第几天,我们可以写一个日期类,通过运算符重载,实现日期减日期得到天数,这样比较复杂
现在用另一种方法实现
代码如下:
#include<iostream>
using namespace std;
int main()
{//二月按28天算
int daymonth[13]={0,31,59,90,120,151,181,212,243,273,304,334,365};
//daymonth中是每个月的最后一天离这年的第一天的天数
int year,month,day;
int n;
while(cin>>year>>month>>day)//测试多组数据,用循环输入
{
n=daymonth[month-1]+day;//计算month月的day天,离1月1日的天数,
if(month>2&&(year%4==0&&year%100!=0)||(year%400==0))
{//如果month大于2月,需要判断年是否是闰年,
n+=1;//是闰年,加1
}
cout <<n<<endl;
}
}