编写一个能判断输入的日期是否合法的小程序
时间: 2023-03-16 17:51:42 浏览: 206
以下是一个能判断输入的日期是否合法的小程序:
```
#include <stdio.h>
int main()
{
int year, month, day;
printf("请输入日期(格式为YYYY-MM-DD):");
scanf("%d-%d-%d", &year, &month, &day);
// 判断年份是否合法
if (year < 1 || year > 9999) {
printf("年份不合法\n");
return 0;
}
// 判断月份是否合法
if (month < 1 || month > 12) {
printf("月份不合法\n");
return 0;
}
// 判断日期是否合法
int max_day;
switch (month) {
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
max_day = 29;
} else {
max_day = 28;
}
break;
case 4:
case 6:
case 9:
case 11:
max_day = 30;
break;
default:
max_day = 31;
break;
}
if (day < 1 || day > max_day) {
printf("日期不合法\n");
return 0;
}
printf("日期合法\n");
return 0;
}
```
该程序首先从用户输入中读取年份、月份和日期,然后分别判断它们是否合法。具体来说,程序会检查年份是否在1到9999之间,月份是否在1到12之间,以及日期是否在该月份的合法范围内。对于日期的判断,程序会根据月份和年份来确定该月份的最大天数,然后检查输入的日期是否在这个范围内。如果输入的日期合法,程序会输出“日期合法”,否则会输出相应的错误信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.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)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)