输入2100年某一天的月和日的值,输出这一天是否为合法日期(表达式会很长)。 输入格式: 输入两个整数,表示月和日。 输出格式: 合法日期输出YES,否则输出NO。 输入样例: 5 31 输出样例: YES 输入样例: 2 29 输出样例: NO
时间: 2024-10-18 12:20:05 浏览: 29
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
5星 · 资源好评率100%
在编程中,判断一个给定日期(如2100年5月31日)是否合法通常涉及对闰年的判断以及每个月的实际天数。这里我们假设2100年不是闰年(实际上2100年是平年),因为闰年判定规则需要考虑到每400年一闰的情况,而这超出了这个问题的简单范围。对于一般月份,我们可以创建一个数组存储每个月的天数,然后进行比较。
以下是使用 C 语言的一个简化的示例,仅考虑平年:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_valid_date(int month, int day) {
const bool days_in_month[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 平年的2月只有28天
if (month < 1 || month > 12 || day < 1 || day > days_in_month[month]) {
// 月份和日子超出范围
return false;
}
// 闰年的情况可以在这里添加判断,但基于题目只处理平年,所以略去这部分
return true;
}
int main() {
int month, day;
printf("请输入月份和日:");
scanf("%d %d", &month, &day);
if (is_valid_date(month, day))
printf("YES\n");
else
printf("NO\n");
return 0;
}
```
这个代码会判断输入的月和日是否在相应的月份内(注意平年2月28天)。如果输入的日期合法,输出 "YES";否则输出 "NO"。
阅读全文