c语言设计一个程序,输入某年某月,计算出这个月有多少天(要求用switch语句实
时间: 2024-10-27 20:13:31 浏览: 47
在C语言中,设计一个程序来计算给定年份和月份的天数,通常需要考虑闰年的规则,因为二月有28或29天。你可以使用switch语句结合if条件来实现这个功能。下面是一个简单的示例:
```c
#include <stdio.h>
int main() {
int year, month;
printf("请输入年份: ");
scanf("%d", &year);
printf("请输入月份(1-12): ");
scanf("%d", &month);
// 判断闰年
bool is_leap_year = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("%d月有%d天\n", month, 31);
break;
case 4:
case 6:
case 9:
case 11:
if(is_leap_year) {
printf("%d月有%d天\n", month, 30);
} else {
printf("%d月有%d天\n", month, 30);
}
break;
case 2:
if(is_leap_year) {
printf("2月有%d天\n", 29);
} else {
printf("2月有%d天\n", 28);
}
break;
default:
printf("无效的月份\n");
break;
}
return 0;
}
```
在这个程序中,我们首先获取用户输入的年份和月份,然后根据switch-case结构判断不同月份的天数。注意特殊处理了二月的天数,如果该年是闰年则有29天,否则有28天。
阅读全文