使用C语言输入一个年份和月份,输出这一年该月的天数,用switch语句实现
时间: 2024-10-15 08:13:47 浏览: 7
在C语言中,你可以使用`switch`语句结合数组或一系列if...else if条件来计算给定年月的天数。由于闰年的规则比较复杂,这里我们仅给出一个简化版的例子,适用于大多数非闰年情况:
```c
#include <stdio.h>
int main() {
int year, month, days_in_month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 一般月份的天数
printf("请输入年份: ");
scanf("%d", &year);
printf("请输入月份(1-12): ");
scanf("%d", &month);
// 由于switch对枚举更友好,这里假设月份是从1到12的整数
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days_in_month[month - 1]; // 对于这些不是二月的月份,直接返回天数
break;
case 2:
// 考虑平年2月有28天,闰年2月有29天
if (year % 4 != 0 || (year % 100 == 0 && year % 400 != 0)) {
days_in_month[month - 1]; // 平年
} else {
days_in_month[month - 1] = 29; // 闰年
}
break;
default:
printf("错误的月份输入!\n");
return 1;
}
printf("%d年%2d月有 %d 天。\n", year, month, days_in_month[month - 1]);
return 0;
}
```