解题思路
-
定义是否为闰年:通过函数
isLeap(int year)判断给定的年份是否为闰年。如果年份满足以下条件之一,则为闰年:- 年份可以被4整除,但不能被100整除;
- 年份可以被400整除。
-
初始化月份天数:通过数组
int Month[]定义了一个普通年份中每个月的天数。2月默认设为28天,考虑到闰年的情况后会有所调整。 -
输入年份和天数:读入年份
y和天数d。年份用于判断是否为闰年,天数用于确定具体的月份和日期。 -
计算月份和日期:
- 首先,使用循环逐月减去每个月的天数,直到
d减到0或负数。循环中,i代表当前的月份索引(从0开始,对应一月至十二月)。 - 如果是2月并且是闰年,则天数减去29;否则,减去
Month[i]指定的天数。 - 如果在某个月减去天数后
d变为0或负数,说明已找到对应的月份和日期。 - 输出时,月份为当前循环的月份(因为月份从1开始,而数组从0开始索引,所以实际月份应该是循环次数
mon),日期为d加上最后一个月减去的天数(因为d已经是负数或零,所以需要加回来)。
- 首先,使用循环逐月减去每个月的天数,直到
完整代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace s

本文介绍了一段C++代码,用于解决CSP问题,通过isLeap函数判断闰年,并根据给定的年份和天数计算对应的月份和日期。代码涉及月份天数处理,特别是闰年的2月天数调整。
最低0.47元/天 解锁文章
179

被折叠的 条评论
为什么被折叠?



