All years which are perfectly divisible by 4 are leap years except for century years (years ending with 00) which is leap year only it is perfectly divisible by 400.

For example: 2012, 2004, 1968 etc are leap year but, 1971, 2006 etc are not leap year. Similarly, 1200, 1600, 2000, 2400 are leap years but, 1700, 1800, 1900 etc are not.

In this program below, user is asked to enter a year and this program checks whether the year entered by user is leap year or not.

## Example: Check if a year is leap year or not

```
#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;
}
```

**Output**

Enter a year: 2014 2014 is not a leap year.

Here, we have used nested `if`

statements to check whether the year given by the user is a leap year or not.

First, we check if `year` is divisible by 4 or not. If it is not divisible, then it is not a leap year.

If it is divisible by 4, then we use an inner `if`

statement to check whether `year` is divisible by 100.

If it is not divisible by 100, it is still divisible by 4 and so it is a leap year.

We know that the century years are not leap years unless they are divisible by 400.

So, if `year` is divisible by 100, another inner `if`

statement checks whether it is divisible by 400 or not.

Depending on the result of that innermost `if`

statement, the program determines whether `year` is a leap year or not.