求解答,这个判断闰年程序错在哪里啊?

#include <stdio.h>
void main()
{
int a=1000,b;
for (a = 1000; a <= 2000; a++)
{
if (a % 4 == 0 && a % 100 == 0 || a % 400 == 0)
{
b = a;
}
else
{
a++;
}
printf("%d\n", a);
}
}

是a % 100 != 0
if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0)

你题目的解答代码如下:

#include <stdio.h>
void main()
{
    int a = 1000, b;
    for (a = 1000; a <= 2000; a++)
    {
        if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0)
        {
            printf("%d 是闰年\n", a);
        }
        else
        {
            printf("%d 不是闰年\n", a);
        }
    }
}

如有帮助,望采纳!谢谢!

img