编程从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年的2月有29天,平年的2月有28天。\n\n注:(1)不能使用指针
时间: 2023-05-04 07:01:40 浏览: 58
题目要求使用switch语句编程,从键盘输入某年某月(包括闰年),用switch语句输出该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年有29天,已知闰年的2月29天,平年的2月28天。已知闰年的判定条件是:如果年份能被4整除但不能被100整除,或者能被400整除,则是闰年。已知题目给出的是2021年2月(含闰年),该月拥有29天。注意:(1)不能使用指针。
相关问题
编程从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年的2月有29天,平年的2月有28天。
以下是一个示例代码,可以实现输入某年某月,输出该月的天数,同时考虑了闰年和非法输入的情况:
```
#include <stdio.h>
int main() {
int year, month, days;
printf("请输入年份和月份,以空格分隔:\n");
scanf("%d %d", &year, &month);
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if ((year % 4 == && year % 100 != ) || year % 400 == ) {
days = 29;
} else {
days = 28;
}
break;
default:
printf("输入的月份不合法!\n");
return ;
}
printf("%d年%d月有%d天。\n", year, month, days);
return ;
}
```
代码中使用了 `switch` 语句来根据输入的月份计算该月的天数。对于非法输入的情况,使用了 `default` 分支来输出错误信息。对于闰年的判断,使用了常见的判断方法:能被4整除但不能被100整除,或者能被400整除的年份为闰年。
从键盘输入某年某月(包括闰年),用switch语句编程输出该年该月的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年的2月有29天,平年的2月有28天。
以下是一个示例代码,可以实现从键盘输入某年某月,输出该年该月的天数,考虑闰年以及输入月份不在合法范围内的情况。
```
#include <stdio.h>
int main()
{
int year, month, days;
printf("请输入年份和月份,格式为yyyy mm:");
scanf("%d %d", &year, &month);
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
days = 29;
}
else
{
days = 28;
}
break;
default:
printf("输入的月份不合法!\n");
return 0;
}
printf("%d年%d月有%d天。\n", year, month, days);
return 0;
}
```
代码中,首先从键盘输入年份和月份,然后使用 switch 语句根据月份计算该月的天数。对于 1、3、5、7、8、10、12 月,天数为 31 天;对于 4、6、9、11 月,天数为 30 天;对于 2 月,需要判断是否为闰年,如果是闰年则有 29 天,否则有 28 天。如果输入的月份不在合法范围内,则输出错误信息并结束程序。最后输出该年该月的天数。