求一个月有多少天,用switch完成。 输入格式: 输入两个整数,如2021 9,第一个表示年,第二个表示月,输出该月的天数。需要考虑闰年。如果月份错误,输出ERROR。
时间: 2024-04-29 18:26:11 浏览: 123
好的,您的要求已经记下了,现在回答您的问题:
以下是使用 switch 语句来求一个月有多少天的代码:
```
#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 == 0 && year % 100 != 0) || year % 400 == 0)
{
days = 29;
}
else
{
days = 28;
}
break;
default:
printf("ERROR\n");
return 0;
}
printf("%d年%d月有%d天\n", year, month, days);
return 0;
}
```
如果您输入的月份是 1、3、5、7、8、10、12 中的一个,那么这个月的天数就是 31 天;如果是 4、6、9、11 中的一个,则这个月的天数是 30 天;如果是 2,则需要判断一下是否是闰年,闰年的条件是:能被 4 整除但不能被 100 整除,或者能被 400 整除。如果是闰年,则这个月有 29 天,否则这个月有 28 天。如果输入的月份不符合要求,则输出 ERROR。
希望这个回答能够解决您的问题。
阅读全文