首先我们需要知道什么是闰年。闰年就是 能被 4 整除 并且 不能被 100 整除,或者 能被 400 整除 的年份。
下面就用几种方法来实现判断闰年。
方法一:
第一步:用循环实现 1000-2000 之间的年份
第二步:用判断闰年的方法在这些年份中筛选闰年
第三步:打印筛选出来的闰年,并统计有多少个
代码实现如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int year = 0;
int count = 0;
// for 循环获取 1000-2000 年之间的年份
for (year = 1000; year <= 2000; year++) {
// 第一个判断闰年的条件:能被 4 整除,但不能被 100 整除
if ((year % 4 == 0) && (year % 100 != 0)) {
printf("%d ", year); // 打印闰年
count++; // 计数,统计闰年的个数
}
// 第二个判断闰年的条件:能被 400 整除
if (year % 400 == 0) {
printf("%d ", year); // 打印闰年
count++; // 计数,统计闰年的个数
}
}
printf("\ncount = %d \n", count);
system("pause");
return 0;
}
代码执行结果:
方法二:
用 逻辑运算符 将 方法一 中判断闰年的两个条件合在一起,使代码更简洁
代码实现如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int year = 0;
int count = 0;
// for 循环获取 1000-2000 年之间的年份
for (year = 1000; year <= 2000; year++) {
// 判断闰年的条件:能被 4 整除,但不能被 100 整除;或者能被 400 整除
// 这里使用 逻辑与(&&) 和 逻辑或(||) 将判断闰年的两个条件合并在一起,使代码更简洁
if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))
{
printf("%d ", year); // 打印闰年
count++; // 计数,统计闰年的个数
}
}
printf("\ncount = %d \n", count);
system("pause");
return 0;
}
代码执行结果:
方法三:
使用函数实现判断闰年。
代码实现如下:
#include<stdio.h>
#include<stdlib.h>
// 函数定义
int is_leap(int y)
{
// 闰年的判断条件
// 如果是闰年就返回 1 ,如果不是闰年就返回 0 .
return (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0));
}
int main()
{
int year = 0;
int count = 0;
for (year = 1000; year <= 2000; year++) {
// 函数调用,如果返回值为 1 则打印,否则不打印
if (is_leap(year)) {
printf("%d ", year);
count++;
}
}
printf("\ncount = %d\n", count);
system("pause");
return 0;
}
代码执行结果: