输入年月日判断是否合法c语言
时间: 2023-08-24 11:30:14 浏览: 66
可以通过以下代码来判断输入的年月日是否合法:
```c
#include <stdio.h>
#include <stdbool.h>
bool isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true;
} else {
return false;
}
}
bool isValidDate(int year, int month, int day) {
if (year < 1 || month < 1 || month > 12 || day < 1) {
return false;
}
switch (month) {
case 2:
if (isLeapYear(year)) {
if (day > 29) {
return false;
}
} else {
if (day > 28) {
return false;
}
}
break;
case 4:
case 6:
case 9:
case 11:
if (day > 30) {
return false;
}
break;
default:
if (day > 31) {
return false;
}
break;
}
return true;
}
int main() {
int year, month, day;
printf("请输入年月日(格式:YYYY-MM-DD):");
scanf("%d-%d-%d", &year, &month, &day);
if (isValidDate(year, month, day)) {
printf("输入的日期合法!\n");
} else {
printf("输入的日期不合法!\n");
}
return 0;
}
```
该程序中,`isLeapYear()`函数用于判断输入的年份是否为闰年,`isValidDate()`函数用于判断输入的年月日是否合法。在`main()`函数中,通过`scanf()`函数获取用户输入的年月日,并调用`isValidDate()`函数判断是否合法。如果合法,则输出提示信息;否则,输出错误信息。
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)