用c语言编程输入某年某月 《包括闻年)。用switch 语句编程输出该年该月拥有的天数。要求考虑闻年以及输入月份不在合理范围内的情况。己知国年的2用有29天•严年的2月有 28天。1
时间: 2024-10-17 10:11:18 浏览: 39
在C语言中,你可以编写如下的程序来实现这个功能。首先,你需要获取用户输入的年份和月份,然后通过`switch`语句判断是否为闰年,并计算相应月份的天数。这里是一个简单的示例:
```c
#include <stdio.h>
int is_leap_year(int year) {
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
return 1; // leap year
} else {
return 0; // not a leap year
}
}
int get_days_in_month(int month, int year) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
if (is_leap_year(year)) {
return 29;
} else {
return 28;
}
default:
printf("Invalid month input.\n");
return -1; // handle invalid months
}
}
int main() {
int year, month;
printf("Enter the year: ");
scanf("%d", &year);
printf("Enter the month (1-12): ");
scanf("%d", &month);
if (month < 1 || month > 12) { // check for valid month range
printf("Invalid month range.\n");
return 1;
}
int days = get_days_in_month(month, year);
if (days != -1) {
printf("There are %d days in the specified month and year.\n", days);
}
return 0;
}
```
在这个程序中,我们首先定义了一个函数`is_leap_year`来检查给定的年份是否为闰年。然后在`get_days_in_month`函数里,我们使用`switch`语句根据月份返回相应的天数。如果输入的月份超出范围或者不是2月但天数却是29,我们会给出错误提示。
阅读全文