C语言判断闰年,不是能被4整除的都是闰嘛,为什么要能被4整除,并且不能不能被100整除,或者能被4

C语言判断闰年,不是能被4整除的都是闰嘛,为什么要能被4整除,并且不能不能被100整除,或者能被400整除

给你一个口诀,判断闰年的。

4年一闰,百年不闰,400年再闰


下面给出算法个题目


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

追问

那一年是特殊的一年

追答

闰年不是 光是可以被4整除,这个是误区。
什么是闰年,
首先他是4的倍数,但是不是100的倍数,但是可以是400的倍数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-23
因为这就是闰年的规律,地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年。公历的平年只有365日,比回归年短约0.2422 日,所余下的时间约为四年累计一天,故四年于2月加1天,使当年的历年长度为366日,这一年就为闰年。现行公历中每400年有97个闰年。按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3天来。因此每四百年中要减少三个闰年。所以公历规定:年份是整百数时,必须是400的倍数才是闰年;不是400的倍数的年份,即使是4的倍数也是平年。
第2个回答  2014-09-23
因为历法规定的,能被4整除且不能被100整除的是闰年,能被400整除的也是闰年。写作:
((year%4 == 0) && (year %100 != 0)) || (year % 400 == 0)
第3个回答  2018-10-12
#include<stdio.h>
void main()
{
int y;
for (y=2000;y<=2500;y=y+1)
{
if (y%4==0&&y%100!=0)
printf("%d\n",y);
else if(y%400==0)
printf("%d\n",y);
}
}
两个条件1.被4整除且不能被100整除2.能被400整除
相似回答