c语言 输入2100年某一天的月和日的值,输出这一天是否为合法日期(表达式会很长)。 输入格式: 输入两个整数,表示月和日。 输出格式: 合法日期输出YES,否则输出NO。 输入样例:
时间: 2024-02-09 12:07:25 浏览: 162
以下是一份可能的 C 语言代码,实现了输入 2100 年某一天的月和日,判断这一天是否为合法日期,输出 YES 或 NO。
```c
#include <stdio.h>
int main() {
int month, day;
printf("Please enter the month and day: ");
scanf("%d%d", &month, &day);
int is_valid = 0;
if (month >= 1 && month <= 12) {
if (day >= 1 && day <= 31) {
if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) {
is_valid = 0;
} else if (month == 2) {
if (day <= 28) {
is_valid = 1;
} else if (day == 29) {
if ((2100 % 4 == 0 && 2100 % 100 != 0) || 2100 % 400 == 0) {
is_valid = 1;
}
}
} else {
is_valid = 1;
}
}
}
if (is_valid) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
这段代码中,首先使用 `scanf` 函数读入月和日的值。然后,使用多层嵌套的 `if` 语句对输入的日期进行判断,最终将结果保存在 `is_valid` 变量中。如果 `is_valid` 的值为 1,则说明输入的日期是合法的,输出 "YES";否则输出 "NO"。在判断闰年的时候,我们假设输入的年份是 2100 年。
阅读全文