为什么这个闰年程序的特定代码不起作用?

杰克

我是编码新手,我正在尝试制作一个程序来确定 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章