#include<stdio.h>
int main()
{
int year,leap,count=0;
for(year=1000;year<=2000;year++)
{if(year%4==0)
{if(year%100==0)
{
if(year%400==0)
leap=1;/*year能被400整除的年份是閏年*/
else leap=0;
}
else leap=1;/*year能被4整除並且不能被100整除的年份是閏年*/
}
else leap=0;
if(leap)printf("%d ",year,count++);/*輸出1000-2000年所有年份及求出閏年的總個數*/
}
if(count%10==0)printf("\n");/*每輸出10個數換行*/
printf("\ncount=%d",count);
return 0;
}
第二種:
#include<stdio.h>
int main()
{
int year,count=0;
for(year=1000;year<=2000;year++)
{
if(year%4==0)
{
if(year%100!=0)printf("%d ",year,count++);
/*year能被4整除並且不能被100整除的年份是閏年*/
}
if(year%400==0)printf("%d ",year,count++);/*year能被400整除的年份是閏年*/
}
printf("\ncount=%d",count);/*輸出1000-2000年間是閏年的總個數*/
return 0;
}
第三種:
#include<stdio.h>
int main()
{
int yaer,count=0;
for(year=1000;year<=2000;year++)
{
if(year%4==0&&year%100!=0||year%400==0)printf("%d ",year,count++);
/*運用與運算和或運算判斷閏年*/
}
printf("\ncount=%d",count);/*輸出1000-2000年間是閏年的總個數*/
return 0;
}
這就是人們熟知的“四年一閏,百年不閏,四百年再閏”的閏年算法程序。但對於數值很大的年份,這年如果能整除3200,並且能整除172800則是閏年,由於求1000-2000年之間的閏年,此程序沒有考慮這點。