统计闰年
1.【问题】
【问题描述】
输入两个年份 x 和 y,统计并输出公元 x 年到公元 y 年之间的所有闰年数(包括 x 年和 y 年),1≤x≤y≤3000。
【输入格式】
一行两个正整数表示 x 和 y,之间用一个空格隔开。
【输出格式】
一行一个正整数,表示公元 x 年到公元 y 年之间的所有闰年数。
【输入样例】
2000 2004
【输出样例】
2
2.【问题分析】
1.求一个整数年份是否为闰年,由于多次判断使用,可以封装为一个函数
1)我们知道闰年为:4年一闰,百年不闰,400年又闰,就是说能被整除但不能被100整除的数是闰年,被100整除的数中同时被400整除的数也是闰年
2) 由1)我们得知,把所有的数可以分为两部分,被100整除和不能被100整除,分别求闰年并累计就是所有的闰年数
3) 由2)得知,如下条件都是闰年:year%4==0&&year%100!=0||year%400==0
2.定义一个计数器整形变量,循环从开始年份到结束年份,分别判断是否为是否为闰年,如果是就累加,否则不处理
3.【程序及备注】
#include <iostream> using namespace std; bool rn(int n){ if((n % 4 == 0) && (n % 100 != 0) || (n % 400 == 0)) return true; else return false; } int main(){ int x,y,t = 0; cin >> x >> y; for(int i = x; i <= y; i++) if(rn(i)) t++; cout << t << endl; return 0; }
4.【运行结果】

作者:newcode 更多资源请关注纽扣编程微信公众号

从事机器人比赛、机器人等级考试、少儿scratch编程、信息学奥赛等研究学习

浙公网安备 33010602011771号