
if [ $((year % 400 )) -eq 0 ] then
echo " $year is a leap year."
elif [ $((year % 4 )) -eq 0 -a $((year %100 )) -ne 0 ] then
echo "$year is a leap year."
else
echo "$year is not a leap year."
fi
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点,就有了现有的闰年判断标准。
C语言 判断闰年 scanf(%d,&year)这掉了一个&
C语言编程问题,如何判断是否为闰年? #include
int main(void)
{
int n
while (scanf(%d,&n),n!=0)
{
if(n%4==0&&n%100!=0||n%400==0) 判断是否为闰年
{
printf(%d ,n)
}
else
{
continue
}
}
return 0
}
判断是否为闰年!!! 我点一下:闰年的条件是满足下列二者条件之一:年号能被4整除、但不能被100整除,二是年号能被4整除,又能被400整除。
要构造一个关系表达式:(year%4==0)&&((year%100!=0)||(year%400!=0))。使程序简洁一些,尽量少嵌套!
对于路径你可以用#include stdio.h,好象用与还是有所不同,提醒中文的标点和西文标点是不同的,一些编译不成功也可能与这有关。
用JAVA判断是否是闰年 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++,编写一个程序,判断某一年是否为闰年。 #include
using namespace std
int main()
{
bool leapyear(int year)
int year
bool leap
cout>year
getchar()
leap =leapyear(year)
if (leap)
cout
1、普通情况求闰年只需除以4可除尽即可年/4余数为0
2、如果是100的倍数但不是400的倍数,那就不是闰年了,即末两位都是零的整除400才行
像1700、1800、1900、2100都不是闰年,但是2000、2400是的。
3、2100年不是闰年,
闰年不是象你们所说以加4为判断闰年标准的,所以闰年有些4年一次,但是有些是8年一次的。例如:1896年是闰年,但1900年不是,到1904年才是闰年。
这项规则是由16世纪格列高丽13世所订,为的是求历法准确。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)