写程序判断某年是闰年
main()
{int year,leap;
scanft("%d",&year);
if(year%4==0)
{if(year%100==0)
{if(year%400==0)
leap=1;
else leap=0;;}
else
leap=1;}
else
leap=0;
if(leap)
printf("%d is",year);
else
printf("%d is not",year);
printf("a leap year\n);
}
我对这题的IF和ELSE 的配对关系不明确,有嵌IF语句麻烦从第4句解释下,因为我自学,所以很菜,麻烦大哥帮忙..
參考答案:leap=(year%4==0&&year%100)||year%400
垃圾题目,扔!
这样写就清楚了:处于一竖线的if和else互相对应
if(year%4==0) {
if(year%100==0){ //能被4整除,进一步判断能否被100整除
if(year%400==0) //不满足“能被4整除但不能被100整除”,判断是否能被400整除
leap=1; //能被400整除,闰年
else leap=0; //也不能被400整除,非闰年
}
else leap=1; //能被4整除但不能被100整除
}
else leap=0; //不能被4整除,当然不能被400整除
能否被400整除的判断可以单独分开来写的,教科书上为了增加if循环重数,硬把它往里面塞……