藍橋杯: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;
}