C语言实现闰年判断及输出:算法详解与代码优化149


闰年,在历法中为了弥补回归年(地球绕太阳公转一圈所需的时间)与整数年的差异而设置的一种年份。闰年的存在确保了历法与季节变化的长期同步。判断闰年,看似简单,却蕴含着一定的算法逻辑,尤其在编程实现中,需要考虑各种边界条件和效率问题。本文将详细阐述C语言中如何判断闰年以及如何高效地输出指定范围内的所有闰年,并对代码进行优化,提高程序的运行效率和可读性。

一、闰年的判断规则

格里高利历(公历)的闰年判断规则如下:
能被4整除但不能被100整除的年份是闰年。
能被400整除的年份是闰年。
其他年份都不是闰年。

用公式表达就是:

(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)

其中,year表示年份。

二、C语言代码实现

基于上述规则,我们可以编写C语言代码来判断闰年并输出指定范围内的所有闰年。以下代码实现了从起始年份startYear到结束年份endYear的所有闰年的输出:```c
#include
// 函数用于判断是否为闰年
int isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int main() {
int startYear, endYear;
printf("请输入起始年份:");
scanf("%d", &startYear);
printf("请输入结束年份:");
scanf("%d", &endYear);
printf("从 %d 年到 %d 年的所有闰年为:", startYear, endYear);
for (int year = startYear; year

2025-07-04


下一篇:C语言枚举类型详解及输出方法