#include <stdio.h>
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
return 1; // 闰年返回1
return 0; // 平年返回0
}
int getDaysInMonth(int year, int month) {
int days;
switch (month) {
case 2:
days = isLeapYear(year) ? 29 : 28; // 2月根据平闰年返回天数
break;
case 4: case 6: case 9: case 11:
days = 30; // 4, 6, 9, 11月有30天
break;
default:
days = 31; // 其他月份有31天
}
return days;
}
int main() {
int year, month;
printf("输入年份: ");
scanf("%d", &year); // 获取年份
printf("输入月份: ");
scanf("%d", &month); // 获取月份
printf("%d年%d月有%d天\n", year, month, getDaysInMonth(year, month)); // 输出结果
return 0;
}
说明
- 函数
isLeapYear
用于判断是否为闰年。 - 函数
getDaysInMonth
根据年份和月份返回对应的天数。 - 在
main
函数中获取用户输入的年份和月份,调用getDaysInMonth
并输出结果。