问题描述
编写函数求某年某月某日(**** ** **)是这一年的第几天 。提示:要考虑闰年,闰年的2月是29天(闰年的条件:是4的倍数但不是100的倍数,或者是400的倍数)。编写主函数,输入年月日,测试该函数并输出结果。
输入格式
按“yyyy mm dd"的格式输入年月日
输出格式
输出一个整数形式的计算结果
样例输入
1990 5 10
样例输出
130
数据规模和约定
根据实际输入合法的日期
解题代码:
#include<iostream>
using namespace std;
int month_days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
bool judge(int y){
if(y%4==0 && y%100!=0 || y%400==0){
return true;
}
return false;
}
int main(){
int year,month,day,sum = 0;
cin>>year>>month>>day;
//如果是闰年
if(judge(year)){
month_days[1] += 1;
for(int i=0;i<month-1;i++){
sum += month_days[i];
}
}else{
for(int i=0;i<month-1;i++){
sum += month_days[i];
}
}
cout<<sum+day;
return 0;
}