B3835 [GESP202303 一级] 每月天数
解题思路
-
问题分析:
-
需要根据输入的年份和月份,输出该月份的天数。
-
特别处理2月份的天数,闰年为29天,平年为28天。
-
其他月份的天数固定,可以直接查表。
-
-
关键步骤:
-
使用数组
t存储每个月的天数(默认2月为28天)。 -
判断给定年份是否为闰年:
-
能被4整除但不能被100整除,或者能被400整除的年份是闰年。
-
-
如果是闰年,将2月的天数改为29天。
-
直接输出对应月份的天数。
-
-
代码逻辑:
-
初始化月份天数数组
t。 -
读取输入的年份
y和月份m。 -
判断闰年条件,更新2月的天数。
-
输出
t[m]作为结果。#include <bits/stdc++.h> using namespace std; int main() { // 初始化月份天数数组,t[0]不使用,t[1]到t[12]对应1月到12月的天数 int t[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 输入年份y和月份m int y, m; cin >> y >> m; // 判断闰年条件:能被4整除但不能被100整除,或者能被400整除 if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) { t[2] = 29; // 闰年2月有29天 } // 输出对应月份的天数 cout << t[m]; return 0; }
-

浙公网安备 33010602011771号