‖初级语法‖用while与if语句打印1000到2000年之间的闰年

一、算法分析
要实现闰年的打印,首先需要明确闰年的定义。

根据搜狗百科所提供的信息:
1.普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年);
2.世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);

可以分析出具体算法有两种:
其一,先用年份除以100,能够整除则用其除以四百,可整除则为闰年;若不能被100整除,再用该年份除以4,若能整除则为闰年。
其二,先用年份除以400,能够整除则为闰年;若不能整除,再用该年份除以4,若不能整除则跳出循环,若能整除再用其除以100,能整除则跳出循环,不能整除则为闰年。

可以看出第二种方式虽可以实现但相对麻烦。
于是我们选用第二种方式(微笑)

第二种方式虽然较为麻烦但有助于加深对{}用法的理解。
经过几天的学习学会了用定义函数的方式实现较为简明的编程方法。
比之上一条博文稍有进步。
二、实现程序如下:
#include<stdio.h>
#include<stdlib.h>
int Leapyear(int x)
{
if (x % 400 == 0)
{
return 1;
}
else if (x % 4 == 0)
{
if (x % 100 != 0)
{
return 1;
}
}
else //此处的else是必须加上的,且与else if构成关联,否则会默认将不能被四整除的数字返回1;
{
return 0;
}
}
int main()
{
printf(“1000-2000年之间的闰年有:\n”);
int year = 1000;
while (year <= 2000)
{
if (Leapyear(year) == 1)
printf("%d ", year);
year++;
}
system (“pause”);
return 0;
}

三、运行程序及结果截图:
‖初级语法‖用while与if语句打印1000到2000年之间的闰年
‖初级语法‖用while与if语句打印1000到2000年之间的闰年
以上。