C语言 求闰年

#include<stdio.h>
#include<windows.h>
main(){
int b;
for(b=2000;b<=2500;b++)
{if(b%100==0&&b%400==0)
{
printf("%d是闰年",b);
}
if(b%4==0&&b%100!=0)
{
printf("%d是闰年",b);
}
if(b%4!=0)
{
printf("%d不是闰年",b);
}
}
system("pause");
}
为什么我最后输出的没有2005 即使我让前面的b<=2500改成了2501 他居然把2500跳过了 怎么回事
我用的是dev-c++

我把程序改了下,运行正常。
#include<stdio.h>
#include<windows.h>
void main(){
int b;
for(b=2000;b<=2500;b++)
{
if(!((b%4!=0)||(b%100==0&&b%400!=0)))
printf("%d是闰年\n",b);
else
printf("%d不是闰年\n",b);
}
system("pause");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-15
2500除以4等于0,而程序中
if(b%4!=0)
{
printf("%d不是闰年",b);
}
只有除以4不等于0时才输出不是闰年,可以改为
else
{
printf("%d不是闰年",b);
}
第2个回答  2010-05-15
2500本来就不是

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网