TimADE @ 2024-10-05 20:51:11
#include<iostream>
using namespace std;
int main(){
int a,b,sum=0,q[sum];
cin>>a>>b;
for(int i=a;i<=b;i++){
if(i%4==0&&i%100!=0||i%400==0){
sum++;
q[sum-1]=i;
}
}
cout<<sum<<endl;
for(int j=0;j<sum;j++){
cout<<q[j]<<' ';
}
return 0;
}
by kingcen @ 2024-10-05 21:15:18
q数组开错啦 要改成q[3200]
还有判断时加括号if((i%4==0&&i%100!=0)||i%400==0)
by TimADE @ 2024-10-05 21:52:52
@kingcen 大佬,为什么要开3200呀?
by Vivian_gao @ 2024-10-06 00:34:45
@TimADE
1582≤x<y≤3000
开3005也行 你的数组虽然没有初始化,但也算对,但是某些题就必须要初始化,建议数组在main函数外面开,这样就能初始化了。