main()
{
int year,leap;
scanf("%d",&year);
if ((year%4==0&&year%100!=0))||(year%400==0))
leap=1; else leap=0;
if(leap)
printf("%d is\n",year);
printf("%d is not\n",year);
}问题在于:leap=1;else leap=0; if (leap) 这三句是否可以不要,我上机试过,不要也能正常运行,最后一句前面加个,else printf("%d is not\n",year);
第1个回答 2010-09-06
main()
{
int year,leap;//leap最好初始化
scanf("%d",&year);
//判断year是否为闰年
if ((year%4==0&&year%100!=0))||(year%400==0))
leap=1;//如果是,令leap=1;
else
leap=0;//否则令leap=0;
if(leap)//这里,如果leap为真,即不为0,即时闰年,所以输出该年
printf("%d is\n",year);
else//得加个else
printf("%d is not\n",year);//否则,输出不是!
}本回答被提问者采纳
{
int year,leap;//leap最好初始化
scanf("%d",&year);
//判断year是否为闰年
if ((year%4==0&&year%100!=0))||(year%400==0))
leap=1;//如果是,令leap=1;
else
leap=0;//否则令leap=0;
if(leap)//这里,如果leap为真,即不为0,即时闰年,所以输出该年
printf("%d is\n",year);
else//得加个else
printf("%d is not\n",year);//否则,输出不是!
}本回答被提问者采纳
第2个回答 2010-09-06
这段代码能 执行吗?turbo C 运行的?
main()
{
int year,leap;
printf("%d is\n",leap);//这里输出下, 看看leap 值是多少
scanf("%d",&year);
if ((year%4==0&&year%100!=0))||(year%400==0))
leap=1; else leap=0;
if(leap)
printf("%d is\n",year);
printf("%d is not\n",year);
}
leap 的作用就是标记 这一年是否是闰年
if(leap) // leap 非0 即为真,所以,这个要看编译器怎么处理的 leap初始化。结果可能放到不同的编译器下会有不用的结果。
main()
{
int year,leap;
printf("%d is\n",leap);//这里输出下, 看看leap 值是多少
scanf("%d",&year);
if ((year%4==0&&year%100!=0))||(year%400==0))
leap=1; else leap=0;
if(leap)
printf("%d is\n",year);
printf("%d is not\n",year);
}
leap 的作用就是标记 这一年是否是闰年
if(leap) // leap 非0 即为真,所以,这个要看编译器怎么处理的 leap初始化。结果可能放到不同的编译器下会有不用的结果。
第3个回答 2017-12-30
leap=1的时候记为闰年