C语言--判断一个年份是否是闰年(详解)

C语言--判断一个年份是否是闰年(详解)_第1张图片

一.闰年的定义

闰年是指在公历(格里高利历)中,年份可以被4整除但不能被100整除的年份,或者可以被400整除的年份。简单来说,闰年是一个比平年多出一天的年份,即2月有29天。闰年的目的是校准公历与地球公转周期的差异,确保时间计算的准确性。举例来说,2024年是一个闰年,而2100年则不是闰年。


 二.闰年与平年的区别

闰年与平年的主要区别在于二月的天数。

1. 平年:平年有365天,二月有28天。

2. 闰年:闰年有366天,二月有29天。

闰年与平年之间的差异是为了调整公历与地球公转周期之间的误差。地球公转周期约为365.2425天,而公历将一年定义为365天。通过在每4年中添加一个闰日(即在二月份增加一天),可以减少一部分误差。

然而,为了进一步纠正误差,规定了如下三条规则来确定闰年:

- 年份能被4整除,但不能被100整除的是闰年(例如2008年,2012年);
- 年份能被400整除的也是闰年(例如2000年);
- 年份能被100整除但不能被400整除的不是闰年(例如1900年不是闰年)。

这样的规则确保了时间计算的准确性,并且确定了闰年和平年之间的区别。


三.判断闰年的条件

能整除4且不能整除100,或能整除400(算法核心)

	if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)//能整除4且不能整除100 或能整除400
	{
		printf("%d是闰年\n",i);
	}

四.完整代码 

#define _CRT_SECURE_NO_WARNINGS
#include  //引用头文件
int main()
{
	int i;
	printf("请输入一个年份 :");
	scanf("%d", &i);
	if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)//能整除4且不能整除100 或能整除400
	{
		printf("%d年是闰年\n", i);
	}
	else
		printf("不是闰年\n");
	return 0;
}

五.运行结果

C语言--判断一个年份是否是闰年(详解)_第2张图片

你可能感兴趣的:(C语言学习,c语言,算法,开发语言)