1、普通情况求闰年只需除以4可除尽即可
年/4余数为0
2、如果是100的倍数但不是400的倍数,那就不是闰年了,即末两位都是零的整除400才行
像1700、1800、1900、2100都不是闰年,但是2000、2400是的。
3、2100年不是闰年,
闰年不是象你们所说以加4为判断闰年标准的,所以闰年有些4年一次,但是有些是8年一次的。例如:1896年是闰年,但1900年不是,到1904年才是闰年。
这项规则是由16世纪格列高丽13世所订,为的是求历法准确。
#include
void main()
{
int y[2][12]={31,28,31,30,31,30,31,31,30,31,30,31 ,31,29,31,30,31,30,31,31,30,31,30,31};
int year,month,day,i,j;
printf("请输入年份: ");//2000 2 y[1][1]
scanf("%d",&year);
printf("\n请输入月份: ");
scanf("%d",&month);
//判断是否为闰年
if(year%4==0&&year%100!=0||year%400==0)
i=1;
//如果是闰年,使用y[2][12]中第二行的数据
else
i=0;
//如果不是闰年,使用y[2][12]中第一行的数据
printf("%d 年的%d 月有%d天\n",year,month,y[i][month-1]);
}
我写的这个简单易懂,希望楼主喜欢
void main()
{
int year;
printf("please input a year: ");
scanf("%d",&year);
if((year%4==0&&year%100!=0)||(year%400==0))
printf("The year: %d is RunNian!\n",year);
else
printf("The year: %d isn't RunNian!\n",year);
}
任意输入年号判段是否闰年,闰年符合下面 两个条件之一。能被4整除但不能被100整除。 能被400整除。
好多有关C语言的书上都有,自己去查查吧,这个有点长就不写了。