c语言。读入一个年份和月份,输出该月有多少天,考虑平年闰年,用Switch语句编程。
时间: 2024-10-11 16:03:12 浏览: 48
C++根据输入年份计算每月的天数
在C语言中,计算给定年份和月份的天数通常涉及到判断是否为闰年和识别每个月份的不同天数规则。以下是使用switch语句的一种简单示例代码:
```c
#include <stdio.h>
int main() {
int year, month;
// 读取输入的年份和月份
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份(1-12):");
scanf("%d", &month);
// 判断闰年
int is_leap = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
switch(month) {
case 1: // 一月(31天)
break;
case 2: // 二月(平年28天,闰年29天)
if(is_leap) {
printf("%d年%02d月有29天\n", year, month);
} else {
printf("%d年%02d月有28天\n", year, month);
}
break;
case 3: // 三月(31天)
printf("%d年%02d月有31天\n", year, month);
break;
case 4: // 四月(30天)
printf("%d年%02d月有30天\n", year, month);
break;
case 5: // 五月(31天)
printf("%d年%02d月有31天\n", year, month);
break;
case 6: // 六月(30天)
printf("%d年%02d月有30天\n", year, month);
break;
case 7: // 七月(31天)
printf("%d年%02d月有31天\n", year, month);
break;
case 8: // 八月(31天)
printf("%d年%02d月有31天\n", year, month);
break;
case 9: // 九月(30天)
printf("%d年%02d月有30天\n", year, month);
break;
case 10: // 十月(31天)
printf("%d年%02d月有31天\n", year, month);
break;
case 11: // 十一月(30天)
printf("%d年%02d月有30天\n", year, month);
break;
case 12: // 十二月(31天)
printf("%d年%02d月有31天\n", year, month);
break;
default: // 非法月份
printf("错误的月份选择\n");
break;
}
return 0;
}
```
阅读全文