如何用C语言编程计算给定月份的天数?
时间: 2024-11-24 19:43:47 浏览: 10
在C语言中,你可以创建一个函数来计算给定月份的天数,通常这涉及到对闰年规则的处理,因为并非每个月份都有固定天数。这里是一个简单的示例,使用了一个数组来存储非闰年的月份天数:
```c
#include <stdio.h>
int days_in_month(int month, int is_leap_year) {
static const int non_leap_days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (is_leap_year && month == 2) { // 如果是闰年且是二月
return 29;
} else {
return non_leap_days[month - 1]; // 非闰年其他月份的天数
}
}
int main() {
int month, year;
printf("请输入月份(1-12)和年份:");
scanf("%d %d", &month, &year);
// 判断是否为闰年
int is_leap = ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0));
int num_days = days_in_month(month, is_leap);
printf("给定月份 %d 的天数是:%d\n", month, num_days);
return 0;
}
```
在这个程序中,用户输入月份和年份,然后`days_in_month`函数会根据输入判断是否为闰年,并返回相应月份的天数。
阅读全文