本章目的
- 掌握代码:打印1000-2000年之间的闰年
- 巩固函数和循环知识点
- 熟悉简单的遍历思想
【C语言代码练习】打印1000~2000年之间的闰年
一、遍历思想
- 遍历的编程思想
所谓遍历,是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。(最简单的遍历方法就是for循环) - 遍历思想的应用:
当我们需要找出某个区间内符合要求的数,就要先对这个区间内的所有数进行遍历。然后在遍历过程中,根据限定条件,找出符合要求的数。例如写代码实现:打印1000~2000年之间的闰年。
- 首先遍历1000 ~2000年之间的所有年份year。(for循环)
- 然后在遍历过程中,根据闰年的限定条件,找出闰年。
- 最后把找出的闰年打印在屏幕上。
二、闰年的判断方法
①、普通年能被4整除;且不能被100整除的为闰年。(如2004年就是闰年,1901年不是闰年)
②、世纪年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
三、代码实现
1.利用if语句写代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int year = 0;
for (year = 1000; year <= 2000; year++)
{
if (year % 4 == 0)
{
if (year % 100 != 0)
{
printf("%d ", year);
}
}
if (year % 400 == 0)
{
printf("%d ", year);
}
}
return 0;
}
2. 利用运算符写代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int year = 0;
for (year = 1000; year <= 2000; year++)
{
if (((year % 4 == 0)&&(year % 100 != 0))||(year % 400 == 0))
{
printf("%d ", year);
}
}
return 0;
}
运行结果:
四:写一个函数,函数的功能是判断一年是不是闰年
(1)先调后定
(2)代码实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int IsLeapPrime(int y)
{
if ((((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)))
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int year = 0;
for (year = 1000; year <= 2000; year++)
{
if (IsLeapPrime(year) == 1)
printf("%d ",year);
}
return 0;
}
运行结果:
本篇完结!
撒花~