所有能被 4 整除的年份都是闰年,除了世纪年(以 00 结尾的年份)是闰年,只能被 400 整除。
例如: 2012、2004、1968 等是闰年,但 1971、2006 等不是闰年。同样,1200、1600、2000、2400 是闰年,但 1700、1800、1900 等不是。
在下面的这个程序中,要求用户输入年份,该程序检查用户输入的年份是否为闰年。
示例: 检查一年是否为闰年
#include <iostream> using namespace std; int main() { int year; cout << "Enter a year: "; cin >> year; if (year % 4 == 0) { if (year % 100 == 0) { if (year % 400 == 0) cout << year << " is a leap year."; else cout << year << " is not a leap year."; } else cout << year << " is a leap year."; } else cout << year << " is not a leap year."; return 0; }
输出
Enter a year: 2014 2014 is not a leap year.
这里,我们使用嵌套的
if
语句来检查用户给出的年份是否为闰年。
首先,我们检查
year 是否可以被 4 整除。如果不能整除,就不是闰年。
如果它可以被 4 整除,那么我们使用内部的
if
语句来检查
year 是否可以被 100 整除。
如果不能被 100 整除,它仍然可以被 4 整除,所以是闰年。
我们知道世纪年不是闰年,除非它们能被 400 整除。
因此,如果
year 可以被 100 整除,另一个内部
if
语句会检查它是否可以被 400 整除。
根据最里面的
if
语句的结果,程序确定
year 是否为闰年。