【题目描述】
小明刚刚学习了每月有多少天,以及如何判断平年和闰年,想到可以使用编程方法求出给定的月份有多少天。你能做到吗?
【输入】
输入一行,包含两个整数,分别表示一个日期的年、月。
【输出】
输出一行,包含一个整数,表示输入月份有多少天。
【输入样例】
2022 1
【输出样例】
31
【样例输入 2】
2020 2
【样例输出 2】
29
#include<iostream>
using namespace std;
int main() {
int array[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
int year = 0, month = 0;
cin >> year >> month;
if (month != 2) {
cout << array[month];
}
else {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
cout << 29;
}
else {
cout << 28;
}
}
return 0;
}
解释:
我们用数组array存储每个月的天数信息,这里的索引0不存储信息,方便我们后续直接将月份作为索引获取天数.
然后可以做一个月份的判断,如果月份不是2月,我们就不需要关系闰年和平年,直接输出月份对应的天数
如果月份是2月,那么我们再判断该年是闰年还是平年,输出对应的2月的天数
如果判断闰年和平年?
能被4整除但是不能被100整除,或者能被400整除的是闰年
闰年2月有29天,平年2月有28天.