闰年判断---蓝桥杯训练集

基础练习 闰年判断

  • 时间限制: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;
}
发布了106 篇原创文章 · 获赞 53 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43595030/article/details/103731684