闰年的表达式(y%40&&y%100||y%4000)
这就是个算闰年的表达式
-
(y%40) y%4表示求y除以4的余数(求模运算),表达式(y%40)意味着当y能整除4时(y%4的余数等于0时)表达式为真
-
(y%100) 这个表达式意味着当y不能整除4时(y%100的余数不等于0时)表达式为真
-
((y%40)&&(y%100)) 如果y能整除4而又不能整除100,那么表达式((y%40)&&(y%100))为真
-
(y%400==0) 这个表达式意味着当y能整除400时表达式为真
-
(((y%4==0)&&(y%100))||(y%400==0))
-
总的来说,表达式(((y%40)&&(y%100))||(y%4000))就是当y能整除4而又不能整除100时,或者y能整除400时表达式为真
平年
公元年数可被4整除为闰年,但是整百(个位和十位均为0)的年数必须是可以被400整除的才是闰年(比如1900年不是闰年),其他都是平年。例如:1997年是平年,2002年是平年;1996年是闰年,2000年是闰年。平年二月有28天,而闰年二月有29天。
平年与闰年
阳历没有闰日或农历没有闰月的年份叫作平年。阳历平年365天,农历平年354天或355天,极少数为353天。公元元年至公元5000年之间,农历年有353天的年份只有以下几个:
780年、1620年、1965年、2372年、3620年、3903年、3965年、4186年、4248年。
在一些地区,平年也指农作物收成很平常的年份。
而农历有闰月的年份称为闰年,农历采用19年加7个闰月的办法,即"十九年七闰法",也就是农历19年有7个闰年。
程序判断闰平年代码
C语言:
#include <stdio.h>
int main()
{
int y;
printf("请输入年份,回车介绍\n");
scanf("%d",&y);
if((y%4==0&&y%100!=0)||y%400==0)
{
printf("%d是闰年",y);
}else
{
printf("%d是平年",y);
}
return 0;
}
Java语言:
import java.util.*;
public class xx {
public static void main(String[] args){
Scanner in=new Scanner (System.in);
System.out.println("请输入年份,回车结束");
int rp=in.nextInt();
if(rp%4==0&&rp%100!=0||rp%400==0){
System.out.println(rp+"是闰年");
}else{
System.out.println(rp+"是平年");
}
}
}
批处理:
@echo off
set /p a=请输入年份:
set /a b=a%%4
if %b%==0 (echo 闰年) else (echo 平年)
pause