1097某年某月天數
阿新 • • 發佈:2020-07-19
描述
列印某年某月有多少天。
輸入
輸入一行,包含2個整數 分別代表年和月
輸出
輸出一行,包含1個整數,表示該年的這個月份一共有多少天.
輸入樣例 1
2008 2
輸出樣例 1
29
提示
閏年的計算方法:
1.年數能被4整除,並且不能被100整除;
2.能被400整除的整數年份。
錯誤示範:
1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 int main() 5 { 6 int a; 7 int x; 8 cin>>a>>x;9 if(a%4==0&&a%100!=0||a%400==0) 10 { 11 if(x==2) cout<<"29"; 12 } 13 else 14 { 15 switch(x) 16 { 17 case 1: 18 cout<<"31"; 19 break; 20 case 2: 21 cout<<"29"; break; 22 case 3: 23 cout<<"31"; break; 24 case 4: 25 cout<<"30"; break; 26 case 5: 27 cout<<"31"; break; 28 case 6: 29 cout<<"30"; break; 30 case 7: 31 cout<<"31"; break; 32 case 8: 33 cout<<"31"; break; 34 case 9: 35 cout<<"30"; break; 36 case 10: 37 cout<<"31"; break; 38 case 11: 39 cout<<"30"; break; 40 case 12: 41 cout<<"31"; break; 42 } 43 } 44 return 0; 45 }
這題不難,但是對閏年的考慮加大了難度。
考慮到二月二十九號的情況題目就變得簡單了。
正確程式碼:
1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 int main() 5 { 6 int a; 7 int x; 8 cin>>a>>x; 9 if(a%4==0&&a%100!=0||a%400==0) 10 { 11 if(x==2) cout<<"29"; 12 } 13 else 14 { 15 switch(x) 16 { 17 case 1: 18 cout<<"31"; 19 break; 20 case 2: 21 cout<<"28"; break; 22 case 3: 23 cout<<"31"; break; 24 case 4: 25 cout<<"30"; break; 26 case 5: 27 cout<<"31"; break; 28 case 6: 29 cout<<"30"; break; 30 case 7: 31 cout<<"31"; break; 32 case 8: 33 cout<<"31"; break; 34 case 9: 35 cout<<"30"; break; 36 case 10: 37 cout<<"31"; break; 38 case 11: 39 cout<<"30"; break; 40 case 12: 41 cout<<"31"; break; 42 } 43 } 44 return 0; 45 }