各位帮我看看我这样写为啥不对y呀

P5737 【深基7.例3】闰年展示

QYlucky @ 2022-04-22 18:36:14

#include<bits/stdc++.h>
using namespace std;
int a[3000];
int main()
{
    int x,y,sum=0,k=1;
    cin>>x>>y;
    for(int i=x;i<=y;i++){
        if((x%4==0&&x%100!=0)||x%400==0){
            sum++;
            a[k]=i;
            k++;
        } 
    }
    cout<<sum<<endl;
    for(int i=1;i<=k;i++){
        cout<<a[i];
    }
    return 0;
}

by dxy2020 @ 2022-04-22 18:39:32

if((i%4==0&&i%100!=0)||i%400==0){

by w23c3c3 @ 2022-04-22 18:45:59

使用空格隔开。


by ImposterAnYu @ 2022-04-22 18:46:06

@QYlucky 您这样写貌似会多输出一个 0,建议把k=1改成k=0,然后把k++放在a[k]=i的前面。


by QYlucky @ 2022-04-23 20:54:48

@owo_ImposterAnYu_owo 感谢感谢感谢!!!


by QYlucky @ 2022-04-23 20:55:31

@小小蒟蒻一只 我糊涂了 感谢感谢感谢!!


by QYlucky @ 2022-04-23 20:55:48

@w23c3c3 感谢感谢感谢


by liande @ 2022-06-09 17:47:31


#include<bits/stdc++.h>
using namespace std;
int a,b,s,x[1000];
int main()
{
   cin>>a>>b;
   for (int i = a; i <= b; i++)
   {
    if(i%400==0||i%4==0&&i%100)//判断是否是闰年 
      s++;
    if(i%400==0||i%4==0&&i%100)
     x[s]=i;//储存符合条件数据 

}
   cout<<s<<endl;//输出累加结果 
   for(int i=1;i<=s;i++)
   cout<<x[i]<<" ";
    return 0;
}

by exercise @ 2022-06-12 19:23:14

#include<bits/stdc++.h>
using namespace std;
int a[50000];
int b,k,p=0;
void me(int x[],int y,int j)
{
    for (int i=y;i<=j;i++)
    { 
            if ((i%100!=0 && i%4==0) || (i%400==0 && i%100==0))
            {
            p+=1;
            a[p]=i;
            }
    }
}
int main()
{   
    cin>>b>>k;
    me(a,b,k);
    cout<<p<<endl;
    for (int i=1;i<=p;i++)
    { 
    cout<<a[i]<<" ";
    }
    return 0;
}

判断句需要写具体一点。。。。。。。。。。。。。。。


by zyc230328linzehao @ 2022-07-30 21:41:47

@exercise 不用这么麻烦吧。。。


|