到目前为止,我已经提出了这个问题,但它似乎并没有一致地输出结果。
if (year/4*4==year)
{
cout<<"It is a leap year!";
}
else
{
cout<<"It is not a leap year!";
}
我该如何解决这个问题?
答案 0 :(得分:0)
如果您想检查用户输入的某些年份是否是闰年,您只需要写一个循环。
在我的代码中,我还添加了一个辅助函数(Turbo C ++有bool类型,对吗?它是标准的一部分...),具有确切的公式(你可以在网上找到)。请注意,当用户输入非整数(或EOF)的内容时,循环结束。
#include <iostream>
bool is_leap( int y )
{
return y % 400 == 0 || ( y % 100 != 0 && y % 4 == 0 );
}
int main()
{
int year;
while ( std::cin >> year )
{
if ( is_leap(year) )
{
std::cout << year << " is a leap year!\n";
}
else
{
std::cout << year << " is not a leap year.\n";
}
}
return 0;
}
例如,您可以尝试:
1857 is not a leap year.
1900 is not a leap year.
1980 is a leap year!
1991 is not a leap year.
2000 is a leap year!
2016 is a leap year!