巨熊与淑女前提条件:为什么正百的年数必须是可以被400整除的才是闰年?

来源:百度文库 编辑:高校问答 时间:2024/05/03 07:02:13
闰年是4年一次,例如 1992(闰年) 1996(闰年)2000(闰年)
那1896(闰年),4年后的1900年为什么不是闰年呢?
1896(闰年)到1904(闰年)的这次闰年为什么又相差8年呢?

因为实际上地球自转的一天不是严格的24小时(具体多少忘了,大概23小时多),这样经过多个闰年以后就会有误差,(每次都多用了时间),所以每100年就少一个闰年,但是又少了时间,每400年又加一个,大概就是这样.
这样做是为了保证和实际的运行规律吻合.

能被4整除不完全的定义。还要加上400的

在公历(格里历)纪年中,有闰日的年份叫闰年,一般年份365天,闰年为366天。由于地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年,公历把一年定为365天。所余下的时间约为四年累计一天,加在二月里,所以平常年份每年365天,二月为28天,闰年为366天,二月为29天。因此,每400年中有97个闰年,闰年在2月末增加一天,闰年366天。 闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。如2000年是闰年,而1900年不是。

正因为每400年中有97个闰年,所以规定被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年

闰年的定义

在公历(格里历)纪年中,有闰日的年份叫闰年,一般年份365天,闰年为366天。由于地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年,公历把一年定为365天。所余下的时间约为四年累计一天,加在二月里,所以平常年份每年365天,二月为28天,闰年为366天,二月为29天。因此,每400年中有97个闰年,闰年在2月末增加一天,闰年366天。 闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。如2000年是闰年,而1900年不是。
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)/*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum);}

如果不注意,大概很多人认为“闰月”与“闰年”是一个意思,其实不然,虽说只是一字之差,所包含的意思却相差很远。

“闰年”。我们通常所说的一年365天,其实是个约数,准确的数字应是365.2422日。那么一年365天,就与实际的一年相差O.2422日,这样四年之后就比实际的一年少了近一天。为了弥补这个差值,历法中规定,4年设一闰,即能被4整除的年份为闰年,另附加规定,凡遇世纪年(末尾数字为两个零的年份),必然被400所整除才算闰年。如1996年即闰年,2000年也是闰年,而1700年则不是闰年。阳历闰年的二月有29天,2月29日为闰日,阳历闰年有366天。也就是说阳历闰年的二月不叫闰二月,闰月为农历所特有。

现在再来说“闰月”。闰月指的是阴历中的一种现象,阴历是按照月亮的圆缺即朔望月安排大月和小月,一个朔望月的长度是29.5306日,是月相盈亏的周期,阴历规定,大月30天,小月29天,这样一年12个月共354天,阴历的月份没有季节意义,这样一年就与阳历的一年相差11天,只需经过17年,阴阳历日期就同季节发生倒置,譬如,某年新年是在瑞雪纷飞中度过,17年后,便要摇扇过新年了。使用这样的历法,自然是无法满足农业生产的需要的,所以我国的阴历自秦汉以来,一直和24节气并行,用24节气来指导农业生产。

二十四节气又可分为“节气”和“中气”二组:古人把从小寒起每隔黄经300为一节气;从冬至起每隔黄经300为一中气,一年有12个节气,12个中气。12节气把一年分为12个节月,每个节月各有一个节气和一个中气。节气是节月的起点;中气是节日的中点。我国传统历法对于日序和月序以及大月、小月、平年和闰年,不象一般历法那样采用长期安排的方法,而是强调逐年逐月的推算,国家设有专门的机构从事历法的推算。

(一)以月相定日序。它逐一推算日月合朔的日期和时刻,每月的初一就是合朔的日期;根据先后二次合朔包含的日数,确定前月的大小。如果从这一合朔到下一次合朔的间隔是30天,那么当月便是大月;如果只隔29天,便为小月。

(二)以中气定月序。首先,以历月中有无中气区分历月和闰月,我们知道一个回归年有12个中气,但却包含365.2422÷29.5306=2.3682个朔望月,经过几番历月轮转之后,必有一个历月没有中气。《汉书·律历表》载:“朔不不得中,谓之闰月”。这个没有中气的月份便是闰月。它前一历日为几月即为闰几月。例如,1984年的那次闰月出现在旧历十月之后,因而叫它“闰十月”。闰月是推算出来的,在一年的月序中不固定,除农历十一月、十二月、正月外,闰几月都可能,十九年七闰。

综上所述,闰年是阳历中的一种现象,固定在二月,比平年加一天,29天;闰月是阴历中的一个现象,闰一个月,那一年阴历有13个月,那一年叫闰月年。闰月年384天。

在公历(格里历)纪年中,有闰日的年份叫闰年,一般年份365天,闰年为366天。由于地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年,公历把一年定为365天。所余下的时间约为四年累计一天,加在二月里,所以平常年份每年365天,二月为28天,闰年为366天,二月为29天。因此,每400年中有97个闰年,闰年在2月末增加一天,闰年366天。 闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。如2000年是闰年,而1900年不是。

正因为每400年中有97个闰年,所以规定被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年
闰年的定义

在公历(格里历)纪年中,有闰日的年份叫闰年,一般年份365天,闰年为366天。由于地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年,公历把一年定为365天。所余下的时间约为四年累计一天,加在二月里,所以平常年份每年365天,二月为28天,闰年为366天,二月为29天。因此,每400年中有97个闰年,闰年在2月末增加一天,闰年366天。 闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。如2000年是闰年,而1900年不是。
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)/*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum);}

如果不注意,大概很多人认为“闰月”与“闰年”是一个意思,其实不然,虽说只是一字之差,所包含的意思却相差很远。

“闰年”。我们通常所说的一年365天,其实是个约数,准确的数字应是365.2422日。那么一年365天,就与实际的一年相差O.2422日,这样四年之后就比实际的一年少了近一天。为了弥补这个差值,历法中规定,4年设一闰,即能被4整除的年份为闰年,另附加规定,凡遇世纪年(末尾数字为两个零的年份),必然被400所整除才算闰年。如1996年即闰年,2000年也是闰年,而1700年则不是闰年。阳历闰年的二月有29天,2月29日为闰日,阳历闰年有366天。也就是说阳历闰年的二月不叫闰二月,闰月为农历所特有。

现在再来说“闰月”。闰月指的是阴历中的一种现象,阴历是按照月亮的圆缺即朔望月安排大月和小月,一个朔望月的长度是29.5306日,是月相盈亏的周期,阴历规定,大月30天,小月29天,这样一年12个月共354天,阴历的月份没有季节意义,这样一年就与阳历的一年相差11天,只需经过17年,阴阳历日期就同季节发生倒置,譬如,某年新年是在瑞雪纷飞中度过,17年后,便要摇扇过新年了。使用这样的历法,自然是无法满足农业生产的需要的,所以我国的阴历自秦汉以来,一直和24节气并行,用24节气来指导农业生产。

二十四节气又可分为“节气”和“中气”二组:古人把从小寒起每隔黄经300为一节气;从冬至起每隔黄经300为一中气,一年有12个节气,12个中气。12节气把一年分为12个节月,每个节月各有一个节气和一个中气。节气是节月的起点;中气是节日的中点。我国传统历法对于日序和月序以及大月、小月、平年和闰年,不象一般历法那样采用长期安排的方法,而是强调逐年逐月的推算,国家设有专门的机构从事历法的推算。

(一)以月相定日序。它逐一推算日月合朔的日期和时刻,每月的初一就是合朔的日期;根据先后二次合朔包含的日数,确定前月的大小。如果从这一合朔到下一次合朔的间隔是30天,那么当月便是大月;如果只隔29天,便为小月。

(二)以中气定月序。首先,以历月中有无中气区分历月和闰月,我们知道一个回归年有12个中气,但却包含365.2422÷29.5306=2.3682个朔望月,经过几番历月轮转之后,必有一个历月没有中气。《汉书·律历表》载:“朔不不得中,谓之闰月”。这个没有中气的月份便是闰月。它前一历日为几月即为闰几月。例如,1984年的那次闰月出现在旧历十月之后,因而叫它“闰十月”。闰月是推算出来的,在一年的月序中不固定,除农历十一月、十二月、正月外,闰几月都可能,十九年七闰。

综上所述,闰年是阳历中的一种现象,固定在二月,比平年加一天,29天;闰月是阴历中的一个现象,闰一个月,那一年阴历有13个月,那一年叫闰月年。闰月年384天

公历

现时世界普遍采用的公历是格列高里历,它的前身是儒略历。根据儒略历的规定,每4年有1个闰年,闰年为366日,其余3年(称为平年)各有365日。公元年数能被4除得尽的是闰年。儒略历1年平均长365.25日,比实际公转周期的365.2422日长11分14秒,即每400年约长3日。

教皇格列高里十三世于1582年宣布改历,改变置闰规则。公元年数被4除尽的是闰年,但如被100除得尽而被400除不尽的则不是闰年。这样的做法可在400年中减少3个闰年。在格列高里历下,400年中有97个闰年(每年366日)及303个平年(每年365日),所以每年平均长365.2425日,与公转周期的365.2422日十分接近。