欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 判断是否为闰年(C语言)

判断是否为闰年(C语言)

2025/4/25 22:01:59 来源:https://blog.csdn.net/Cao123456789321/article/details/147475929  浏览:    关键词:判断是否为闰年(C语言)

      闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份为闰年。
     地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,所余下的时间约为四年累计一天,故四年于2月加1天,使当年的历年长度为366日,这一年就为闰年。现行公历中每400年有97个闰年。按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3天来。因此每四百年中要减少三个闰年。所以公历规定:年份是整百数时,必须是400的倍数才是闰年;不是400的倍数的年份,即使是4的倍数也不是闰年[1]。
 

#include <stdio.h>// 判断闰年的函数
int isLeapYear(int year) {if (year <= 0) {return 0; // 公元前的年份不考虑}// 闰年规则:// 1. 能被4整除但不能被100整除,或者// 2. 能被400整除if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {return 1; // 是闰年} else {return 0; // 不是闰年}
}int main() {printf("公元1年到2024年之间的闰年有:\n");int count = 0;for (int year = 1; year <= 2024; year++) {if (isLeapYear(year)) {printf("%d ", year);count++;// 每行打印10个年份if (count % 10 == 0) {printf("\n");}}}printf("\n\n总共%d个闰年\n", count);return 0;
}

程序说明:

  1. 闰年判断规则

    • 能被4整除但不能被100整除,或者

    • 能被400整除的年份是闰年

  2. 程序功能

    • 遍历公元1年到2024年

    • 使用isLeapYear函数判断每个年份是否为闰年

    • 打印所有闰年,每行10个

    • 最后输出闰年总数

  3. 注意事项

    • 公元前的年份(year <= 0)被忽略

    • 格里高利历(公历)从1582年开始采用,之前的闰年计算可能有历史差异,但程序使用现代规则统一计算

这个程序会输出从公元1年到2024年之间的所有闰年,并统计总数。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词