竞赛
考级
题目分析 如果日期合法,则输出 NO,否则输出 YES。 月份的范围为 111 ~ 121212。 每月日的范围可能有所不同,在平年下 111 ~ 121212 月份的天数为,31,28,31,30,31,30,31,31,30,31,30,3131, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 3131,28,31,30,31,30,31,31,30,31,30,31。 在闰年下,2月有 29 天。 AC代码 复杂度 O(1)O(1)O(1)。
分类讨论嗷嗷 从月份入手, 大月31天,小月30天 对于2月,平年28天,闰年29天 记住一句话:4年一闰 100年不闰 400年又一闰 然后就能解这题啦~~ tip:用的C++语言来输入“-”可以用一个char解决 AC代码:(看着有点赘。。)
这个程序首先定义了一个isValidDate函数,该函数接收一个日期字符串作为参数,并返回一个布尔值表示该日期是否合法。然后,在main函数中,程序读取用户输入的日期字符串,并使用isValidDate函数进行校验,最后根据校验结果输出相应的信息。 注意,这个程序使用了C++标准库中的stringstream来解析输入的日期字符串,并通过一系列的条件判断来校验日期的合法性。其中,对于闰年的判断是通过判断年份是否能被4整除但不能被100整除,或者能被400整除来实现的。此外,对于每个月份的天数,程序也进行了相应的检查。
提交答案之后,这里将显示提交结果~