C语言–判断闰年练习题01
判断1000到2000中是闰年的数字
判断闰年的条件(符合二者之一):
- 能被4整除,但不能被100整除
- 能被400整除**
下面是代码展示与分析
一、用if条件判断打印闰年
//用if 条件判断
int year = 0;//初始化year变量
for (year = 1000; year <= 2000; year++) {//用for循环语句生成1000到2000的数字
if (year % 4 == 0) {
if (year % 100 != 0) {
printf("%d ", year);
}
}
//此处不用else,因为if和else语句只进入其中一条语句
if (year % 400 == 0) {
printf("%d ", year);
}
}
return 0;
二、简易版(用逻辑表达符)
代码如下(示例):
int year = 0;//初始化year变量
printf("请输入一个1000到2000之间的数字:");
scanf("%d", &year);//在屏幕输入1000到2000中间的数字
if ((year % 4 == 0 &&year % 100 != 0) ||( year % 400 == 0)) {
printf(" %d是闰年 \n", year);
}
else {
printf("%d不是闰年 \n", year);
}
return 0;
三、用函数的方式实现
代码如下(示例):
//判断是否为闰年
#include <stdio.h>
int is_leap_year(int y)//定义一个函数,定义一个y的整型变量作为形参接收传过来的数值
{
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
return 1;//返回1为真
else
return 0;//返回0为假
}
int main()
{
int year = 0;
int count = 0;//定义一个次数
for (year = 1000; year <= 2000; year++)
{
if (is_leap_year(year))//这里实际直接可以根据返回值来判断真假
{
count++;//每次返回真的值打印
printf("%d是闰年\n", year);
}
}
printf("%d\n", count);
return 0;
}
反思
23.10.14
打印count的时候为啥放在for循环外面,函数is_leap_year为啥一定要放在main函数外?