输入 x,y(1582\le x < y \le 3000)x,y(1582≤x<y≤3000) ,输出 [x,y][x,y] 区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。
无
无
1989 2001
3 1992 1996 2000
题解:
第一步分析题目,剖析步骤:
1.输入x,y两个数据,定义计数器cnt。
2.通过第一个for循环(范围在x~y之间)用if判断出是闰年的年份cnt++,循环结束后输出cnt(要换行)。
3.通过第二个for循环(范围在x~y之间)用if判断出是闰年的年份直接输出(两数之间加空格)。
第二步理清思路后,直接上代码:
#include <iostream> using namespace std; int main() { int a,b,s=0; cin>>a>>b; for(int i=a;i<=b;i++) if(i%400==0||i%4==0&&i%100) s++; cout<<s<<endl; for(int i=a;i<=b;i++) if(i%400==0||i%4==0&&i%100) cout<<i<<‘ ‘; return 0; }
以上代码仅供参考。
原文:https://www.cnblogs.com/dd90901/p/14800874.html