其他分享
首页 > 其他分享> > 7-7 实验2_2_公历闰年 (100 分)

7-7 实验2_2_公历闰年 (100 分)

作者:互联网

地球绕太阳运行周期为365天5小时48分46秒(合365.24219天),即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,每四年累积约一天,把这一天加于2月末(即2月29日),使当年时间长度变为366日(1-12月分别为31天,29天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天),这一年就为闰年。需要注意的是,公历是根据罗马人的"儒略历"改编而得。由于当时没有了解到每年要多算出0.0078天的问题,从公元前46年,到16世纪,一共累计多出了10天。为此,当时的教皇格列高利十三世,将1582年10月5日人为规定为10月15日。并开始了新闰年规定。即规定公历年份是整百数的,必须是400的倍数才是闰年,不是400的倍数的就是平年。比如,1700年、1800年和1900年为平年,2000年为闰年。此后,平均每年长度为365.2425天,约4年出现1天的偏差。按照每四年一个闰年计算,平均每年就要多算出0.0078天,经过四百年就会多出大约3天来,因此,每四百年中要减少三个闰年。闰年的计算,归结起来就是通常说的:四年一闰;百年不闰,四百年再闰。

输入格式:

只有一个整数y(1900<=y<=2500),代表年份。

输出格式:

只有一行,如果输入的年份为闰年,则输出"Yes",否则输出"No"。

输入样例:

2008

输出样例:

Yes

代码如下:

#include <stdio.h>
int main()
{
    int y;
    scanf("%d",&y);
    if(y%100 == 0 && y %400 == 0 || y%100!=0 && y%4 == 0)
        printf("Yes");
    else
        printf("No");
              
        return 0;

}

 

如何判断闰年:闰年分为普通闰年和世纪闰年

1、普通闰年:公历年份是4的倍数的,一般是闰年。(如2004年就是闰年);

          if(year%4==0) 

                       printf("是闰年");

2、世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是世纪闰年,2000年是世纪闰年)。

         if(year%100==0&&year%400==0)

                       printf("是闰年");

标签:公历,闰年,31,30,400,100
来源: https://blog.csdn.net/debug_h/article/details/122325190