題目描述 輸入年份和月份,輸出這一年的這一月有多少天。需要考慮閏年。 輸入格式 輸入兩個正整數,分別表示年份 $y$ 和月數 $m$,以空格隔開。 輸出格式 輸出一行一個正整數,表示這個月有多少天。 樣例 #1 樣例輸入 #1 1926 8 樣例輸出 #1 31 樣例輸入 #2 2000 2 樣例輸 ...
題目描述
輸入年份和月份,輸出這一年的這一月有多少天。需要考慮閏年。
輸入格式
輸入兩個正整數,分別表示年份 \(y\) 和月數 \(m\),以空格隔開。
輸出格式
輸出一行一個正整數,表示這個月有多少天。
樣例 #1
樣例輸入 #1
1926 8
樣例輸出 #1
31
樣例輸入 #2
2000 2
樣例輸出 #2
29
提示
數據保證 \(1583 \leq y \leq 2020\),\(1 \leq m \leq 12\)。
以下是答案
#include <iostream>
using namespace std;
//判斷是否閏年
int rn(int a){
return a%400==0||a%4==0&&a%100!=0;
}
int main(){
int y,m,d;
int day;
cin>>y>>m;
//判斷月份
if(m == 2 && rn(y)){
day = 29;
cout<<day;
}
if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){
day = 31;
cout<<day;
}
if(m == 2 || m == 4 || m == 6 || m == 9 || m == 11){
day = 30;
cout<<day;
}
else{
day = 28;
cout<<day;
}
return 0;
}
之後WA了
這才是正確的寫法!!!
#include <iostream>
using namespace std;
//判斷是否閏年
int rn(int a){ //是閏年
return a%400==0||a%4==0&&a%100!=0;
}
int main(){
int y,m,d;
int day;
cin>>y>>m;
//判斷月份
if(m == 2){
if(rn(y)){
day = 29;
cout<<day;
}
else{
day = 28;
cout<<day;
}
}
if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){
day = 31;
cout<<day;
}
if(m == 4 || m == 6 || m == 9 || m == 11){
day = 30;
cout<<day;
}
return 0;
}
不錯!AC了