这书代码是错误的,误人子弟
书上判断 闰年的逻辑完全不对
if(leap = 0) 这行代码是错误的 应该是 if(leap == 0)
能被 4 整除但是不能被 100 整除的是闰年
能被 400 整除的是闰年
剩下的不是闰年
int main()
{
int year,leap;
scanf("%d",&year);
if(year%4 == 0 && year % 100 != 0 ) leap =1; //判断能被 4 整除且不能被 100 整除 是闰年
else if(year % 400 == 0) leap =1; //判断能被 400 整除 是闰年
else leap = 0; //剩下的不是闰年
if(leap == 0)
printf("%d is not a leap year\n",year);
else
printf("%d is a leap year\n",year);
return 0;
}
判断闰年有两种
1是能被4整除并且不能被100整除
2能被400整除的数
这两种都行,按照这种思路写就行
#include<stdio.h>
int main()
{
int year=0;
scanf("%d",&year);
if(year%4==0&&year%100!=0)
{
printf("%d是闰年",year);
}
else if(year%400==0)
{
printf("%d是闰年",year);
}
else
{
printf("%d不是闰年",year);
}
return 0;
}