蓝桥杯:VIP试题 算法训练 天数计算
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
编写函数求某年某月某日(**** ** **)是这一年的第几天 。提示:要考虑闰年,闰年的2月是29天(闰年的条件:是4的倍数但不是100的倍数,或者是400的倍数)。编写主函数,输入年月日,测试该函数并输出结果。
输入格式
按“yyyy mm dd"的格式输入年月日
输出格式
输出一个整数形式的计算结果
样例输入
1990 5 10
样例输出
130
数据规模和约定
根据实际输入合法的日期
#include<iostream>
using namespace std;
int return_days(int month){
int sum = 0;
switch(month){
case 12:sum+=31;
case 11:sum+=30;
case 10:sum+=31;
case 9:sum+=30;
case 8:sum+=31;
case 7:sum+=31;
case 6:sum+=30;
case 5:sum+=31;
case 4:sum+=30;
case 3:sum+=31;
case 2:sum+=28;
case 1:sum+=31;break;
defult:sum +=0;break;
}
return sum;
}
int main(){
int year,month,day;
cin>>year>>month>>day;
if((year% 4 ==0 && year % 100 != 0)||(year % 400 == 0)){//闰年2月29天
if(month>=2){
cout<<return_days(month-1)+day+1;
}else{
cout<<day;
}
}else{
cout<<return_days(month-1)+day;
}
return 0;
}