基础练习 闰年判断
-
时间限制:1.0s 内存限制:256.0MB
-
问题描述:
给定一个年份,判断这一年是不是闰年。
当以下情况之一满足时,这一年是闰年:
年份是4的倍数而不是100的倍数;
年份是400的倍数。
其他的年份都不是闰年。 -
格式:
输入格式
输入包含一个整数y,表示当前的年份。
输出格式
输出一行,如果给定的年份是闰年,则输出yes,否则输出no。 -
说明:
当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。 -
样例:
样例输入
2013
样例输出
no
样例输入
2016
样例输出
yes -
数据规模与约定
1990 <= y <= 2050。
#include<iostream>
using namespace std;
int main()
{
int y;
cin>>y;
if(y%4==0&&y%100!=0||y%400==0)
cout<<"yes";
else
cout<<"no";
return 0;
}
- 补充习题:
输入:
Enter you input year:2014
输出:
您输入的 2014–>不 是闰年
输入:
Enter you input year:2008
输出:
您输入的 2008–>是闰年
PS:主要是判断的算法—>现行公历中每400年有97个闰年。按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3天来。因此每四百年中要减少三个闰年。所以公历规定:年份是整百数时,必须是400的倍数才是闰年;不是400的倍数的世纪年,即使是4的倍数也不是闰年。
这就是通常所说的:四年一闰,百年不闰,四百年再闰。 例如,2000年是闰年,2100年则是平年。
#include<iostream>
#include<cstdlib>//exit()的库函数。
using namespace std;
int main()
{
int year;
cout<<"Enter you input year:";
cin>>year;
if(year<=0)
{
cout<<"Input error!"<<endl;
exit(0);/*之所以要用exit()是因为要和return 0衔接上。千万不可以用break,因为break只能用于循环体和 switch语句中!*/
}
else if((year%4==0&&year%100!=0)||year%400==0)
cout<<"您输入的"<<year<<"-->是闰年。"<<endl;
else
cout<<"您输入的"<<year<<"-->不是闰年。"<<endl;
return 0;
}