C语言如何判断是闰年,闰年判断条件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言如何判断是闰年,闰年判断条件相关的知识,希望对你有一定的参考价值。
参考技术A C语言如何判断是闰年,闰年判断条件不等价,因为判断闰年的标准是:1、能整除4且不能整除100 2、能整除400
你的意思是:
每4年有个闰年<——>1896是闰年,4年后1900也是闰年<——>除以4就是闰年
但严格上讲,"每4年一个闰年"这说法不严谨。应该是四年一闰,百年不闰,四百年再闰。
为什么呢?
1、产生闰年原因:地球绕太阳执行周期为365天5小时48分46秒(合365.24219天)即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,所余下的时间约为四年累计一天,故四年于2月加1天,使当年的历年长度为366日,这一年就为闰年。
2、但是,上面演算法又有了一个问题。就是0.2422*4=0.9688,比一天还差0.0322天,每4年差0.0322天不算多,但每400年就会差了约3天。即是说,假如每4年一个闰年,那么每400年就会有100个闰年,然后会多算了3天。
所以,就规定了每四百年中要减少三个闰年。公历年份是整百数的,必须是400的倍数的才是闰年,不是400的倍数的,虽然是100的倍数,也是平年。
综合以上2点,就有了现有的闰年判断标准。
平闰年怎么区分?
判定公历闰年遵循的规律为: 四年一闰,百年不闰,四百年再闰.
公历闰年的简单计算方法:(符合以下条件之一的年份即为闰年)
1。能被4整除而不能被100整除。(如2004年就是闰年,1900年不是)
2。能被400整除。(如2000年是闰年)
下面有个简单的方法判断是否是闰年。
(1)判断年份是否是闰年,只须看年份的末两位,如果末两位数能整除4,那么就是闰年,反之,就不是。
(2)遇到末两位数都是0的年份,我们就看年份的前两位数;如果前两位数能整除4,那么就是闰年,反之,就不是。
(3)如遇到2004年末两位是04的,可以直接把它看做1位数,如果这个数能整除4,那么就是闰年,反之,就不是。
怎样区分平年和闰年?
4的倍数的年份就是闰年,比如,2008年就是闰年,+4,即2012年也是闰年~~
闰年的二月份有29天,平年都是28天~~是因为平年的二月份其实是28天零出来几个小时,三个平年之后,那多余出来的几个小时加和之后就正好凑足一整天,也就是闰年的2月份多出来的那一天!
怎样区分闰年与非闰年
如果那年的年份能除以4没有余数,那么那年就是闰年,如果不行,就是平年.
比如说,2004,2008,2012,它们都能除尽4,没有余数,所以都是闰年.
然后闰年是366天,平年是365天,相差的一天主要是在2月,闰年有29号,平年没有.
什么是平年?什么是闰年?平年与闰年怎样区分??
一般的,能被4整除的年份是闰年,不能被4整除的年份是平年.如:1988年2008年是闰年;2005年2006年2007年是平年.但是如果是世纪年(也就是整百年),就只有能被400整除才是闰年,否则就是平年.如:2000年就是闰年,1900年就是平年
闰年的2月有29天,平年的2月只有28天.
怎么判断一个年份是不是闰年
1、普通情况求闰年只需除以4可除尽即可 年/4余数为0
2、如果是100的倍数但不是400的倍数,那就不是闰年了,即末两位都是零的整除400才行
像1700、1800、1900、2100都不是闰年,但是2000、2400是的.
3、2100年不是闰年,闰年不是象你们所说以加4为判断闰年标准的,所以闰年有些4年一次,但是有些是8年一次的.例如:1896年是闰年,但1900年不是,到1904年才是闰年.
用JAVA判断是不是是闰年
在网上找的代码不可用,有语句错误,如下: Scanner input=new Scanner(System.in);
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
Scanner 无法解析为类型
Scanner 无法解析为类型
at zhishu.w.main(w.java:22)
那位大虾能否解释下是什么问题或发下新代码~小弟不胜感激~!!
以下为代码:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class LeapyearTest extends Applet implements ActionListener
Label lblResult;
Button btn;
TextField txt;
int year;
boolean leap;
public void init()
lblResult=new Label("请输入要判断的年份");
txt=new TextField(5);
btn=new Button("判断");
add(lblResult);
add(txt);
add(btn);
btn.addActionListener(this);
public void actionPerformed(ActionEvent e)
// TODO Auto-generated method stub
year=Integer.parseInt(txt.getText());
if(year%4==0&;&;(year%100)!=0)
leap=true;
else if(year%400==0)
leap=false;
if(leap==true)
lblResult.setText(year+"年是闰年");
else
lblResult.setText(year+"年是平年");
txt.setText("");
扩展资料:
在windows下编译java文件、执行:
1、先创建一个txt,更改为test.java。
2、编写代码,为输出为holloword。
3、找到cmd,并进行打开cmd。
4、编译java文件,输入命令为javac test.java。
5、如果没有报错,查看当前目录下是否有class文件产生。
6、执行class文件,在命令输入java test,输出为holloword。
参考技术Apublic class Test
//输入年份判断是否为闰年
public static void main(String[] args)
int year;
System.out.println("请输入年份:");
Scanner sc=new Scanner(System.in);
year=sc.nextInt();
if(year%4==0&&year%100!=0||year%400==0)
System.out.println("是闰年");
else
System.out.println("不是闰年");
参考技术B import java.util.*;
class RN
public boolean check(int year)
if((year%4 == 0)&&((year%100 != 0)|(year%400 == 0)))
return true;
else
return false;
public class Test
public static void main(String[] args)
Scanner sc=new Scanner(System.in);
RN s=new RN();
System.out.println("Please input year ?");
if(s.check(sc.nextInt()))
System.out.println("This year is Run Nian");
else
System.out.println("This year is not Run Nian");
这个是OK的,是不是你没有导入应有的包啊,import java.util.*;
因为Scanner属于util包本回答被提问者采纳 参考技术C 自己编一个java程序,用来判断指定年份是否是闰年。
public class RunNian
public static void isRunNian(int year)
if(year%4==0&&year%100!=0)
System.out.println(year+"年是润年");
else if(year%400==0)
System.out.println(year+"年是润年");
else
System.out.println(year+"年不是润年");
public static void main(String[] args)
//test
isRunNian(2000);
isRunNian(2008);
isRunNian(1900);
isRunNian(2009);
参考技术D year=sc.nextInt();这句代码写错了应该是int year=sc.nextInt;
以上是关于C语言如何判断是闰年,闰年判断条件的主要内容,如果未能解决你的问题,请参考以下文章