C语言-判定2000-2500中的每一年是否为闰年,并将结果输出

本文详细解释了闰年的计算规则,包括地球绕太阳的周期导致的时间误差,以及如何通过每4年、每100年、每400年调整闰年来减少误差。文中提供了一个C语言代码示例,用于判断2000年至2500年间哪些年份是闰年。主要关注点在于闰年的判断条件和编程实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

理解闰年的条件后,再用代码来解这道题就很容易了。

地球绕太阳旋转一周为365天5小时48分46秒

按照一年365天来计算时,每年少算5小时48分46秒,每4年少算23小时15分4秒。

按照一年365天,每4年为一个闰年时(每4年加一天),则每400年将多算出3天。

因此我们按照每4年为一个闰年,于是每400年中有100个闰年,然后在这100个闰年中取消掉3个闰年。这样计算时间误差就小很多了。

例如,2000年~2400年,每4年有一个闰年,而2100年,2200年,2300年3个年份取消闰年

2000年——————2100年——————2200年——————2300年——————2400年

闰年———————不是闰年—————不是闰年——————不是闰年—————闰年

因此能被4整除的年份绝大部分为闰年,极少数不是闰年,如能被4整除且能被100整除(如2000,2100,2200,2300,2400)但不能被400整除的不是闰年(如2100,2200,2300)

因此程序只需在能被4整除的年份中选择能被100整除但不能被400整除的年份不予打印,其余打印出来即可。(显示闰年的方法很多,这只是其中一种,仅供参考)

#include<stdio.h>
int main()
{
    int year = 2000;
    for(year = 2000;year <= 2500; year ++)
    {
        if(year%4 == 0)
        {   
            if(year%100 == 0 && year%400 != 0)
            {
                /*none*/
            }
            else
            {
                printf("%d    ",year);
            }
        }
    }

        return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值