40分,不知为何?

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

luosw @ 2020-03-09 12:48:09

放代码

#include<cstdio>
using namespace std;
int abc,b[105],q,z;
bool run(int a){
    if(a%400==0)    return true;
    if(a%4==0)  return true;
    return false;
}
int main(){
    scanf("%d%d",&q,&z);
    for(int i=q;i<=z;i++){
        if(run(i)){
            b[abc]=i;
            abc++;
        }
    }
    printf("%d\n",abc);
    for(int i=0;i<abc;i++){
        printf("%d ",b[i]);
    }
    return 0;
}

帮忙指点一下下谢谢!


by jijidawang @ 2020-03-09 12:48:44

@luosiwei run错了


by Aw顿顿 @ 2020-03-09 12:51:24

bool run(int a){
    if(a%400==0)return true;
    if(a%4==0&&a%100==0)return false;
    if(a%4==0)return true;
    return false;
}

试试?


by luosw @ 2020-03-09 13:02:21

改了,80分


by luosw @ 2020-03-09 13:08:17

这个为什么还是80分?

#include<cstdio>
using namespace std;
int abc,b[105],q,z;
bool run(int a){
    if(a%400==0)return true;
    if(a%4==0&&a%100!=0)return true;
    return false;
}
int main(){
    scanf("%d%d",&q,&z);
    for(int i=q;i<=z;i++){
        if(run(i)){
            b[abc]=i;
            abc++;
        }
    }
    printf("%d\n",abc);
    for(int i=0;i<abc;i++){
        printf("%d ",b[i]);
    }
    return 0;
}

by TaoYixiao @ 2020-05-23 13:04:00

@luosw 第三个点,没有闰年,第一行输出了0,第二行就出问题了,因为你这个代码有回车,但是应该输出的是没有回车,只有一行的,测试点下载一下就知道了


|