我是编码新手,我正在尝试制作一个程序来确定 4 位数年份是否为闰年。我知道我可以在这里找到其他工作代码,但我特别想知道为什么我尝试的这个特定代码不起作用。有人可以解释一下吗?
我尝试输入普通年份(例如 9999),但它给出了“这是闰年”。
#include <iostream>
using namespace std;
int main()
{
int year;
std::cout << "Enter a year: ";
std::cin >> year;
int len;
for (len = 0; year > 0; year = year / 10){
len++;
}
if (len != 4){
std::cout << "It's not a 4 digit number.";
}
else {
if (year % 400 != 0){
std::cout << "It is a common year.";
}
if (year % 4 == 0){
std::cout << "It is a leap year.";
}
}
return 0;
}
如果您输入 2020 作为输入,则在
for (len = 0; year > 0; year = year / 10)
{
len++;
}
year
将是 0。
然后,您将检查year % 4
,它也将是 0。您只需要创建另一个变量来复制年份,并使用这个另一个变量来检查除以 10。
或者,您可以检查(year < 10000)
而(year > 999)
无需修改year
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句