U302332 GSEP 1级真题 [202303] 每月天数

GSEP 1级真题 [202303] 每月天数

题目描述

小明刚刚学习了每月有多少天,以及如何判断平年和闰年,想到可以使用编程方法求出给定的月份有多少天。你能做到吗?

输入格式

输入一行,包含两个整数,分别表示一个日期的年、月。

输出格式

输出一行,包含一个整数,表示输入月份有多少天。

样例 #1

样例输入 #1

2022 1

样例输出 #1

31

样例 #2

样例输入 #2

2020 2

样例输出 #2

29

#include <iostream>

using namespace std;

bool IsLeap(int y) {
	bool a = (y % 400 == 0);
	bool b = (y % 4 == 0) && (y % 100 != 0);
	return a || b;
}

int main() {
	int y, m; cin >> y >> m;
	switch (m) {
		case 1:case 3:case 5:case 7:case 8:case 10:case 12:
			cout << 31; break;
		case 4:case 6:case 9:case 11:
			cout << 30; break;
		case 2: if (IsLeap(y)) cout << 29; 
				else cout << 28;
	}
}


posted @ 2023-10-01 00:15  iamy  阅读(998)  评论(0)    收藏  举报