输入读取:读取输入的年份year和月份month。
基础天数数组:days数组的索引对应月份(1-12),存储了非闰年时每个月的天数,索引 0 留空是为了让月份和索引直接对应,更直观。
闰年判断与 2 月处理:如果月份是 2 月,先判断年份是否为闰年,若是则将天数改为 29,否则使用基础天数 28。
输出结果:输出最终计算的天数。
总结
本题核心是月份天数的固定规则和闰年的判断逻辑,需要牢记闰年的两个判断条件。
代码采用数组存储固定天数,结合条件判断处理 2 月的特殊情况,逻辑简洁清晰,能正确处理所有测试用例。
最后附上珍贵的代码
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int s = days[b];
if (b == 2) {
if ((a % 400 == 0) || (a % 4 == 0 && a % 100 != 0)) {
s = 29;
}
}
}
点赞者全部AC!