请使用【switch】解决月份对应的天数问题。【题目】根据输入的【年份】和【月份】数值,输出该月份应有的天数。 【提示】 1)要【使用if】检查年份与月份的有效性,比如:要大于0,要满足某个范围,……。 2)要根据【是否闰年】来输出【2月的天数】。 3)可灵活使用 break,使具有相同天数的月分使用相同的输出信息。
时间: 2023-03-31 13:03:01 浏览: 111
好的,我可以回答这个问题。以下是使用 switch 解决月份对应的天数问题的代码:
```
#include <stdio.h>
int main() {
int year, month, days;
printf("请输入年份和月份,用空格隔开:");
scanf("%d %d", &year, &month);
if (year <= || month <= || month > 12) {
printf("输入的年份或月份无效!\n");
return ;
}
switch (month) {
case 2:
if ((year % 4 == && year % 100 != ) || year % 400 == ) {
days = 29;
} else {
days = 28;
}
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
break;
}
printf("%d 年 %d 月有 %d 天。\n", year, month, days);
return ;
}
```
这个程序会先让用户输入年份和月份,然后使用 if 检查输入的年份和月份是否有效。如果无效,程序会输出错误信息并退出。如果有效,程序会使用 switch 根据月份计算该月份应有的天数,并输出结果。其中,2月的天数需要根据是否闰年来判断,而其它月份的天数可以使用相同的输出信息。
阅读全文