#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");
}
#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);
}
if(b%4!=0)
{
printf("%d不是闰年",b);
}
只有除以4不等于0时才输出不是闰年,可以改为
else
{
printf("%d不是闰年",b);
}
第2个回答 2010-05-15
2500本来就不是