题目描述
输入年、月、日,计算该天是本年的第几天。
输入描述:
包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
输出描述:
输入可能有多组测试数据,对于每一组测试数据,
输出一个整数,代表Input中的年、月、日对应本年的第几天。
示例1
输入
复制
1990 9 20
2000 5 1
输出
复制
263
122
这里用数组保存天数即可
#include<iostream>
using namespace std;
int isyeap(int year){
if((year%400==0) || (year%4==0&& year%100!=0)){
return true;
}
return false;
}
int day[][2]={
0,0,//0
31,31,//1
28,29,//2
31,31,//3
30,30,
31,31,
30,30,//6
31,31,//7
31,31,//8
30,30,//9
31,31,//10
30,30,
31,31//12
};
int main(){
int year2,month2,day2;
while(cin >> year2 >> month2 >> day2){
int year1=year2;
int month1=1;
int day1=1;
int cnt=1;
while( month1<month2 || day1<day2){
cnt++;
day1++;
if(day1>day[month1][isyeap(year1)]){
day1=1;
month1++;
}
}
cout<<cnt<<endl;
}
return 0;
}