C 语言实例 - 判断闰年
用户输入年份,判断该年份是否为闰年。
实例
#include <stdio.h>
int main()
{
int year;
printf("输入年份: ");
scanf("%d",&year);
if(year%4 == 0)
{
if( year%100 == 0)
{
// 这里如果被 400 整数是闰年
if ( year%400 == 0)
printf("%d 是闰年", year);
else
printf("%d 不是闰年", year);
}
else
printf("%d 是闰年", year );
}
else
printf("%d 不是闰年", year);
return 0;
}
运行结果:
输入年份: 1990 1990 不是闰

文人墨客
直接条件判断闰年:
#include <stdio.h> int main() { int year; printf("输入年份: "); scanf("%d",&year); // year = 400; // (四年一闰,百年不闰) || 四百年在闰年 if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { printf("y\n"); } else { printf("n\n"); } return 0; }文人墨客
判断闰年还能这样写:
#include <stdio.h> int main() { int year; printf("输入年份: "); scanf("%d",&year); // year = 300; // 先处理百年,余下的在处理非百年 if(year % 100 == 0) // 先找出百年 { if(year % 400 == 0) // 找出 400年 { printf("y\n"); } else // 剩下就是是100年但不是400年 { printf("n\n"); } } else // 剩下的是非百年的年份按照正常走 { if(year % 4 == 0) { printf("y\n"); } else { printf("n\n"); } } return 0; }总体思路,先把特殊的百年年份拿出来,是 400 的倍数,是闰年,不是 400 的倍数,不是闰年。
然后,百年年份剩余的都为正常的非百年的年份直接按照 4 处理。