用函数来实现判断,是提前将判断过程写成一个函数,然后在下边的程序中直接调用就可以了。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int leap_year(int year)
{
if ((year % 4 == 0 && year / 100 != 0) || (year % 400 == 0))
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int year;
int ret = 0;
printf("请输入年份:");
scanf("%d", &year);
ret = leap_year(year);
if (ret == 1)
{
printf("%d年是闰年\n", year);
}
else
{
printf("%d年不是闰年\n", year);
}
system("pause");
return 0;
}
但是这种方法不够简洁,写出了好多if语句,于是我将代码进行了优化:
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
#include <stdlib.h>
int runnian(int year)
{
return ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0));//返回值为1或者0
}
int main()
{
int year = 0;
int count = 0;
for (year = 1000; year <= 2000; year++)
{
if (runnian(year))//1为真,0为假则不进入不输出。
{
count++;
printf("%d ", year);
}
}
printf("\n%d\n", count);
system("pause");
return 0;
}
此时不仅会输出 所有闰年,还会输出数量