题目描述
输入年份和月份,输出这一年的这一月有多少天。需要考虑闰年。
输入格式
输入两个正整数,分别表示年份 y 和月数 m,以空格隔开。
输出格式
输出一行一个正整数,表示这个月有多少天。
输入输出样例
输入 #1
1926 8
输出 #1
31
输入 #2
2000 2
输出 #2
29
这题有很多种办法(本人只想到了2种)
我提交时是数组加if做的
要注意闰年,所以定义变量在这:
int n,m,a[100]={31,28,31,30,31,30,31,31,30,31,30,31};//闰年原因,2月先定义成28天
然后判断闰年(包括世纪闰年不要忘了):
if(n%4==0&&n%100!=0||n%400==0){
if(m==2){
cout<<29;
return 0;
}
}
最后输出(不要忘记m(月份)-1):
cout<<a[m-1];
完整AC代码:
#include <bits/stdc++.h>
using namespace std;
int n,m,a[100]={31,28,31,30,31,30,31,31,30,31,30,31};
int main(){
cin>>n>>m;
if(n%4==0&&n%100!=0||n%400==0){
if(m==2){
cout<<29;
return 0;
}
}
cout<<a[m-1];
return 0;
}