0
点赞
收藏
分享

微信扫一扫

7-2 闰年的个数 (100 分)

中间件小哥 2022-01-31 阅读 44
算法
#include<stdio.h>
int runnian(int n);
int main()
{
    int n,count,nian,num;
    scanf("%d",&n);
    for(count=1;count<=n;count++)
    {
        scanf("%d",&nian);
        for(num=0;nian!=-1;)
        {
        if(runnian(nian)) num++;
        scanf("%d",&nian);
        }
        printf("%d\n",num);
    }
}
int runnian(int n)
{
    if(n%4==0&&n%100!=0||n%400==0)
        return 1;
    else return 0;
}

地球绕太阳运行周期为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天来,因此,每四百年中要减少三个闰年。闰年的计算,归结起来就是通常说的:四年一闰;百年不闰,四百年再闰。

现有若干行年份,请你写一段程序分别统计每一行中有多少个闰年。

输入格式:

第一行为一个整数n(0<n<=10),代表测试用例行数。后边是n行,每行为若干个用空格分隔的正整数(代表需要统计的年份,这些年份值在1到3000之间)。这些正整数的最后是-1,表示此行结束。

输出格式:

为n行,每行一个整数,对应于输入的每一行中闰年的个数。

输入样例:

3
1900 1968 1991 2009 1938 1982 1972 1939 1989 -1
1979 1933 1976 1922 1950 2014 1958 -1
2016 1921 1904 1982 1968 1995 1956 1907 1978 2001 1965 1990 2014 1947 -1

输出样例:

2
1
4
举报

相关推荐

7-2 正负数统计 (100 分)

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

7-2 念数字 (15 分)

7-2 约瑟夫环 (10 分) python

7-2 然后是几点 (15 分)

7-2 计算摄氏温度 (10 分)

7-2 成绩转换 (10 分)(python版本)

0 条评论