题目描述
根据输入的日期,计算是这一年的第几天。。
测试用例有多组,注意循环输入
解题思路:
1.区分闰年:被400整除或者能被4整除但是不能被100整除
#include<iostream>
#include<vector>
using namespace std;
int main(){
int year,month,day;
while(cin>>year>>month>>day){
int res=0;
vector<int> d1 = {31,59,90,120,151,181,212,243,273,304,334,365};
vector<int> d2 = {31,60,91,121,152,182,213,244,274,305,335,366};
if(0==year%400||0==year%4&&0!=year%100){
if(month==1){
res = day;
}else
res = d2[month-1]-(d2[month-1]-d2[month-2]-day);
}else{
if(month==1){
res = day;
}else
res = d1[month-1]-(d1[month-1]-d1[month-2]-day);
}
cout<<res<<endl;
}
return 0;
}