用了bool函数判断,不明白为什么只有40分,请求指正

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

libin13815498262 @ 2023-02-25 01:53:41


#include<bits/stdc++.h>
using namespace std;
bool judge(int a){
    if(a%4==0)
    return 1;
    else
    return 0;
}//判断是否为闰年
int main()
{
    int x,y,i,count=0;
    cin>>x>>y;
    int *a=new int[y+1];
    for(i=0;i<y+1;i++){
        a[i]=0;
    }//辅助数组记录闰年值
    for(i=x;i<y+1;i++){
        if(judge(i)){
        count++;
        a[i]=1;//若是闰年计数器+1,数组置1
        }
    }
    cout<<count<<endl;//输出计数器值即闰年个数
    for(i=x;i<y+1;i++){
        if(a[i]==1)
        cout<<i<<" ";
    }//输出辅助数组为1 的i值,即闰年年份
    return 0;
    }

by ud2_ @ 2023-02-25 01:56:53

闰年不是简单的“4 的倍数”。


by cff_0102 @ 2023-02-25 03:18:30

闰年不是这样判断的


by GoldenCreeper @ 2023-02-25 07:38:09

如果年份是 4 的倍数且不是 100 的倍数或者是 400 的倍数,那么此年是闰年。


by lzx0 @ 2023-02-25 12:53:55

判断错了..................


by libin13815498262 @ 2023-02-25 13:15:53

@ud2_ 谢谢大佬指点


by libin13815498262 @ 2023-02-25 13:16:07

@cff_0102 谢谢大佬指点


by libin13815498262 @ 2023-02-25 13:16:17

@GoldenCreeper 谢谢大佬指点


by libin13815498262 @ 2023-02-25 13:16:32

@lzx0 谢谢大佬指点


by WSx_3 @ 2023-09-09 21:51:07

话说闰年不是是4的倍数就行了,条件应该是这样的:

if((x%4==0 && x%100!=0) || (x%400==0)) return true;
return false;
//如果   是4的倍数  且  不是100的倍数    或者    是400的倍数,返回True

|