bool leap = false;
int leapd = 28;
if (year % 100 == 0) {
if (year % 400 == 0) {
leap = true;
}
else { leap = false; }
}
else if (year % 4 == 0) {
leap = true;
}
else { leap = false; }
if (leap = true) {
leapd++;
}
此程序决定输入的年份是否为闰年。我不确定原因,但程序最终会将leap
设置为true。
如果年份可以被100整除,那么如果它也可以被400整除,那么它就是闰年。
如果它不能被100整除,那么如果你将年份除以4,那只是闰年。
答案 0 :(得分:2)
上一次if (leap == true)
声明应为if
。如果你修复它,它应该工作。 =
是赋值变量。因此,在您上一篇if
声明中,您使用leap
而不是true
和==
进行比较,而是使用leap
将true
分配给=
}。
所以你的最终if语句应该是:
if (leap == true)
{
leapd++;
}
答案 1 :(得分:0)
最后一个循环应该看起来像
if (leap == true)
{
leapd++;
}
您目前的方式将leap
设置为True
,然后评估if
。哪个永远是True
。条件检查应为==
。