c语言:获得月份天数
时间: 2024-11-18 21:18:34 浏览: 12
输出每个月的天数C语言PTA
在C语言中,获取特定月份的天数通常涉及到闰年和平年的判断。你可以创建一个函数来计算,这里提供一个简单的示例:
```c
#include <stdio.h>
int getMonthDays(int month, int year) {
// 初始设定每个月的基本天数
static const int days_in_month[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 如果是闰年并且是二月,需要加一天
if (month == 2 && is_leap_year(year)) {
return days_in_month[month] + 1;
}
return days_in_month[month];
}
// 判断是否为闰年
int is_leap_year(int year) {
if (year % 4 != 0)
return 0; // 不是闰年,直接返回0
else if (year % 100 != 0)
return 1; // 普通闰年,能被4整除但不能被100整除
else if (year % 400 != 0)
return 0; // 非普通闰年,不能被400整除
else
return 1; // 四百年一遇的闰年
}
int main() {
int month, year;
printf("请输入月份和年份:");
scanf("%d %d", &month, &year);
int num_days = getMonthDays(month, year);
printf("给定月份 %d 的天数是 %d。\n", month, num_days);
return 0;
}
```
在这个例子中,`getMonthDays`函数会根据输入的月份和年份计算天数,而`is_leap_year`函数则用于检查是否为闰年。用户可以通过主函数输入月份和年份,然后调用这两个函数。
阅读全文