程序能运行结果错误怎么办

我写了个程序判断是否为闰年,能运行出来但是结果是错的,请大家瞅瞅
#include<stdio.h>

int main()
{
int a,b;
printf("姓名: 学号: \n");
scanf("%d",&a);
if(a>0)
{ b=a;
if(b%4==0)
printf(" %d年为闰年\n",a);}
else
printf(" %d年不是闰年\n",a);
return 0;
}

闰年:
1.能被4整除,但不能被100整除
2.能被400整除

判断闰年的规则是:1、年份能被4整除但不能被100整除。2、能被400整除。
你的判断逻辑不对

if((b%4==0&& b%100!=0) || b%400 == 0 )
printf(" %d年为闰年\n",a);}