C语言闰年简单问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 20:23:58
//求闰年:编写一段C代码,实现让用户输入一个年份,然后判断改年份是否是闰年。
#include<stdio.h>
void main()
{
int a;
printf("请输入一个年份:\n");
scanf("%d",&a);
if(a%4==0&&a%100!=)||(a%400==0) //这里为啥不能直接写成if(a%4==0)呢?这样也可以求闰年啊。为啥还要求模100不得0???难道闰年只能公园100年的以后才可以有??公园100年以前不能有??啥意思?给解释一下吧?
{ printf("%d is run nian\n",a);}
else
{ printf("%d is not run nian\n",a);}
}

关于公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年,一回归年长365日5时48分46秒。因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四年增加一日,这一年有366日,就是闰年。但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这样公历年的平均长度与回归年就相近似了。由此规定:年份是整百数的必须是400的倍数才是闰年,例如1900年、2100年就不是闰年。

你可能没有弄懂闰年的意思,闰年是指:

1.能被4正处,但不能被100整除的年份。

2.能被100整除又能被400蒸出的年份。

这样还有问题吗?
公元前没有这闰年一说吧。

呵呵.整百年的年份,必须是400的倍数才是闰年.就这样的,朋友.如1900年它就不是闰年.

if(a%4==0&&a%100!=0)||(a%400==0) //因为规定每百年中,不能整除400的年不能闰

这主要是判断是不是闰年的条件问题,有两个条件:1、能被4整除,不能被100整除 2、能被100整除又能被400整除。满足其中一个条件就能被判定为闰年。