求一个月有多少天,用switch完成。 输入格式: 输入两个整数,如2021 9,第一个表示年,第二个表示月,输出该月的天数。需要考虑闰年。如果月份错误,输出ERROR。 输出格式: 31
时间: 2024-12-08 08:13:27 浏览: 11
你可以使用 switch 语句来根据不同月份计算天数,同时考虑到闰年的规则。以下是一个简单的示例,用 C 语言来实现:
```c
#include <stdio.h>
int is_leap_year(int year) {
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
return 1; // 是闰年
} else {
return 0; // 非闰年
}
}
int get_days_in_month(int year, int month) {
switch(month) {
case 1: // 一月
return 31;
case 2: // 二月
if (is_leap_year(year)) {
return 29;
} else {
return 28;
}
case 3: // 三月
return 31;
case 4: // 四月
return 30;
case 5: // 五月
return 31;
case 6: // 六月
return 30;
case 7: // 七月
return 31;
case 8: // 八月
return 31;
case 9: // 九月
return 30;
case 10: // 十月
return 31;
case 11: // 十一月
return 30;
case 12: // 十二月
return 31;
default: // 错误的月份
return -1; // 输出 ERROR 或者其他错误代码
}
}
int main() {
int year, month;
scanf("%d %d", &year, &month);
int days = get_days_in_month(year, month);
if (days == -1) {
printf("ERROR\n");
} else {
printf("%d\n", days);
}
return 0;
}
```
在这个程序中,`get_days_in_month`函数使用了 switch 语句来判断每个月份的天数,并检查是否是闰年。主函数负责接收用户输入并调用这个函数。
阅读全文