去算平年还是闰年,a代表年份,值得注意0<a<=3000,我输入一个数结果是对的,但是系统不给算对,我是不是落下情况了

公历纪年法中,能被 4 整除的大多是闰年,但能被 100整除而不能被 400 整除的年份不是闰年,如 1900年是平年,2000年是闰年。

img

判断是不是闰年挺简单的,能被4整除而不能被100整除的为闰年

区分是否大于400,这个逻辑有点多余(100|200|300符合闰年的定义吗?)。
只需要a>=400里面的那一段判断逻辑就可以了。


#include <stdio.h>
int main(void)
{
    int x;
    scanf("%d", &x);
    printf("%d ", (x % 4 == 0 && x % 100 != 0 || x % 400 == 0) ? 1 : 0);
    return 0;
}