任务描述 本关任务:编写一个能判断输入的日期是否合法的小程序。如果合法,则按照年月日的输出此日期,比如1998年6月26日。;否则提示用户:您输入的日期有误,请重新输入! 相关知识 条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作,从而改变代码的执行顺序,实现更多的功能。 if (<条件>) { <条件成立执行的代码> } else { <条件不成立执行的代码> } 编程要求 根据提示,在右侧编辑器补充代码。 测试说明 平台会对你编写的代码进行测试: 测试输入:1994,02,20 预期输出:1994年2月20日。
时间: 2024-04-16 13:29:00 浏览: 31
根据你的描述,以下是一个简单的C语言代码示例,用于判断输入的日期是否合法并输出日期:
```c
#include <stdio.h>
int main() {
int year, month, day;
printf("请输入日期(年、月、日,以逗号分隔):");
scanf("%d,%d,%d", &year, &month, &day);
// 判断年份是否合法
if (year < 0) {
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;
}
if (day < 1 || day > max_day) {
printf("您输入的日期有误,请重新输入!\n");
return 0;
}
printf("%d年%d月%d日\n", year, month, day);
return 0;
}
```
这个程序会提示用户输入日期(年、月、日),然后逐个判断年份、月份和日期是否合法。如果合法,则按照年月日的格式输出日期,否则提示用户重新输入。在这个示例中,使用了条件语句(if-else)和switch语句来实现不同的判断逻辑。