陕西省城乡住房建设部网站,最新的跨境电商平台有哪些,西安建设网站电话号码,更换网站空间【深基7.例3】闰年展示
题目描述
输入 x,yx,yx,y#xff0c;输出 [x,y][x,y][x,y] 区间中闰年个数#xff0c;并在下一行输出所有闰年年份数字#xff0c;使用空格隔开。
输入格式
输入两个正整数 x,yx,yx,y#xff0c;以空格隔开。
输出格式
第一行输出一个正整数输出 [x,y][x,y][x,y] 区间中闰年个数并在下一行输出所有闰年年份数字使用空格隔开。
输入格式
输入两个正整数 x,yx,yx,y以空格隔开。
输出格式
第一行输出一个正整数表示 [x,y][x,y][x,y] 区间中闰年个数。
第二行输出若干个正整数按照年份单调递增的顺序输出所有闰年年份数字。
样例 #1
样例输入 #1
1989 2001样例输出 #1
3
1992 1996 2000提示
数据保证1582≤xy≤30001582\le x y \le 30001582≤xy≤3000。 所需变量 int x;//用于存储初始年份 int y;//用于存储终止年份 int i;//循环变量 int sum 0;//用于统计有多少个闰年 int arr[400] {0};//用于放每个闰年方便后续输出 思路我们首先编写一个判断是否是闰年的函数方法如果是闰年返回1如果不是闰年返回0代码如下
int solution(int x){if(((x%4 0)(x%100! 0))||(x%400 0)){return 1;}return 0;
}然年后对每个输入的年份进行判断如果是闰年我们呢就首先将该数存入arr数组然后让sum这样就达到我们想要的目的了。不断遍历下去就能得到我们想要的结果了然后再将sum和arr数组中的元素输出出来就可以了 该算法本人认为比较优如果有更好的想法欢迎q我
#includeiostream
using namespace std;
int solution(int x){if(((x%4 0)(x%100! 0))||(x%400 0)){return 1;}return 0;
}
int main(){int x,y,i,sum 0;int arr[400] {0};cinxy;for(i x;iy;i){if(solution(i)){arr[sum] i;}}coutsumendl;for(i 0;isum;i){if(i 0){coutarr[i];}else{cout arr[i];}}coutendl;return 0;
}