学者谷

位置:首页 > 校园范文 > 教材

闰年的定义和程序计算

教材1.25W

天文专家表示,农历鸡年是个闰年,有一个“闰6月”,共有6个小月,每月29天和7个大月,每月30天,一年共有384天。

闰年的定义和程序计算
定义

①、普通年能整除4且不能整除100的`为闰年.(如2004年就是闰年,1900年不是闰年)

②、世纪年能整除400的是闰年.(如2000年是闰年,1900年不是闰年)

③、对于数值很大的年份,这年如果能被3200整除,并且能被172800整除则是闰年.如172800年是闰年,86400年不是闰年(因为虽然能被3200整除,但不能被172800整除)

程序计算

Ecmascript语言

1234567//判断指定年份是否为闰年functionisleap(){varthe_year=newDate()ullYear();varisleap=the_year%4==0&&the_year%100!=0||the_year%400==0;returnisleap;}

C#语言:

123456789///<summary>///判断指定年份是否为闰年///</summary>///<paramname="year">年份</param>///<returns>返回布尔值true为闰年,反之不是</returns>publicstaticboolisLeapYear(intyear){return((year%4==0&&year%100!=0)||year%400==0);}

Java语言:

12345678910111213importner;publicclassLeapYear{publicstaticvoidmain(String[]args){ Scannerinput=newScanner();t("请输入年份:");intyear=Int();if((year%4==0&&year%100!=0)||year%400==0)t(year+"年是闰年。");elset(year+"年不是闰年。");}}

VB语言:

123PublicFunctionisLeapYear(yearAsInteger)AsBooleanisLeapYear=(yearMod4=0AndyearMod100<>0)OryearMod400=0EndFunction

Python 语言:

1234567#-*-coding:cp936-*-temp=input("输入年份:")YEAR=int(temp)if(YEAR%4==0andYEAR%100!=0)orYEAR%400==0:print("闰年")else:print("非闰年")

C++语言:

123456789#include<iostream>intmain(){intyear;std::cout<<"请输入年份:";std::cin>>year;//输入待判断年份,如2008std::cout<<year<<(((year%4==0&&year%100!=0)||year%400==0)==1?"年是闰年":"年是平年")<<std::endl;return0;}

C语言:

123456789101112#include<stdio.h>intmain(void){inty;printf("请输入年份,回车结束");scanf("%d",&y);if((y%4==0&&y%100!=0)||y%400==0)printf("%d是闰年",y);elseprintf("%d是平年",y);return0;}

MATLAB语言:

12345functionlpflag=isleapyear(year)%判断是否为闰年%Input-year年份,数值%Output-lpflaglpflag=1,闰年;lpflag=0,平年lpflag=(~mod(year,4)&&mod(year,100))||~mod(year,400);

Erlang语言:

123456789101112-module(year).-export([isLeap/1]).isLeap(Year)->ifYearrem400==0->true;Yearrem100==0->false;Yearrem4==0->true;true->falseend.

Bash/Shell:

1234567year=$1if["$(($year%4))"=="0"]&&["$(($year%100))"!="0"]||["$(($year%400))"=="0"]thenecho"leapyear"elseecho"commonyear"fi

标签:闰年 计算