用c语言判断日期是否合法
时间: 2023-05-28 19:04:22 浏览: 265
第一章 日期转换小工具.pptx
以下是用C语言编写的判断日期是否合法的示例代码:
```c
#include <stdio.h>
int main() {
int year, month, day;
int isLeapYear = 0;
// 获取用户输入的年月日
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
// 判断是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
isLeapYear = 1;
}
// 判断月份是否合法
if (month < 1 || month > 12) {
printf("输入的月份不合法!\n");
return 0;
}
// 判断日期是否合法
if (day < 1 || day > 31) {
printf("输入的日期不合法!\n");
return 0;
} else {
switch (month) {
case 2: // 二月份
if (isLeapYear && day > 29) {
printf("输入的日期不合法!\n");
return 0;
} else if (!isLeapYear && day > 28) {
printf("输入的日期不合法!\n");
return 0;
}
break;
case 4: // 四月份、六月份、九月份、十一月份
case 6:
case 9:
case 11:
if (day > 30) {
printf("输入的日期不合法!\n");
return 0;
}
break;
default: // 其他月份
break;
}
}
printf("日期合法!\n");
return 0;
}
```
代码中,首先获取用户输入的年月日,然后判断是否为闰年。接着,先判断月份是否合法,如果不合法则输出错误信息并退出程序。如果月份合法,则判断日期是否合法。对于每个月份,根据它的天数进行判断。如果日期不合法,则输出错误信息并退出程序。如果日期合法,则输出“日期合法”的提示信息。
阅读全文