c语言输入年份与月份输出天数
时间: 2025-07-05 14:02:13 浏览: 13
### C语言 实现根据输入年份和月份计算并输出该月的天数
为了实现这一功能,可以按照以下逻辑构建程序:
定义一个函数用于判断给定年份是否为闰年。对于公历纪元中的年份来说,如果能被4整除但不能被100整除,则是普通闰年;若能被400整除则是世纪闰年[^1]。
创建数组存储每个月固定的最大日数(不考虑二月),并通过条件语句处理二月的情况。当遇到2月时,依据之前编写的闰年检测函数来决定返回28还是29天。
最后,在`main()`函数里接收用户输入的年份与月份参数,并调用上述方法获取对应的总天数后打印出来。
下面是完整的C语言源码示例:
```c
#include <stdio.h>
// 判断是否为闰年的辅助函数
int isLeapYear(int year){
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
// 获取指定月份最大天数的函数
int getMaxDayOfMonth(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:
return isLeapYear(year)? 29 : 28;
default:
printf("Invalid Month\n");
return -1;
}
}
int main(){
int year, month;
// 提示用户输入数据
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份(1-12): ");
scanf("%d", &month);
// 调用getMaxDayOfMonth()得到结果并输出
int days = getMaxDayOfMonth(month, year);
if(days >= 0)
printf("%d年%d月共有:%d天.\n", year, month, days);
return 0;
}
```
阅读全文
相关推荐


















