### What is a Leap Year?

A leap year is a calendar year that contains an additional day. For example, in the Gregorian calendar, each leap year has 366 days instead of 365, by extending February to 29 days rather than the common 28.

These extra days occur in each year which is an integer multiple of 4 (except for years evenly divisible by 100, which are not leap years unless evenly divisible by 400).

February 29 is a date that usually occurs every four years, and is called the leap day. This day is added to the calendar in leap years as a corrective measure, because the Earth does not orbit the sun in precisely 365 days.

### Algorithm for Leap Year Check

if ((year modulo 4 is 0) and (year modulo 100 is not 0))

or (year modulo 400 is 0)

then true

else false

## In C++ Programming Language Conditions for Leap Year

if( (year%400==0 || year%100!=0) &&(year%4==0))

cout<<“It is a leap year”;

else

cout<<“It is not a leap year”;

## Piece of C Language Code for checking a Leap Year

if( (year%400==0 || year%100!=0) &&(year%4==0))

printf(“It is a leap year”);

else

printf(“It is not a leap year”);

## General algorithm for calculating a leap year

In general terms the algorithm for calculating a leap year is as follows…

A year will be a leap year if it is divisible by 4 but not by 100. If a year is divisible by 4 and by 100, it is not a leap year unless it is also divisible by 400.

## Examples of Leap Years or Not a Leap Year

Thus years such as 1996, 1992, 1988 and so on are leap years because they are divisible by 4 but not by 100. For century years, the 400 rule is important. Thus, century years 1900, 1800 and 1700 while all still divisible by 4 are also exactly divisible by 100. As they are not further divisible by 400, they are not leap years

## C Program to check for Leap Year

#include<stdio.h> int main() { int year; printf("Enter a year to check if it is a leap year="); scanf("%d",&year); if(year%400 == 0) printf("%d is a leap year", year); else if(year%100 == 0) printf("%d is not a leap year", year); else if (year%4 == 0) printf("%d is a leap year", year); else printf("%d is not a leap year", year); return 0; }

Output

Enter a year to check if it is a leap year=1900

1900 is not a leap year

Output 2

Enter a year to check if it is a leap year=1600

1600 is a leap year

Output 3

Enter a year to check if it is a leap year=1920

1920 is a leap year

### Another Different C Code to Implement Leap Year Algorithm

#include<stdio.h> int main() { int year; printf("Enter a year to check if it is a leap year="); scanf("%d",&year); if( (year%400==0 || year%100!=0) &&(year%4==0)) printf("%d is a leap year", year); else printf("%d is not a leap year", year); return 0; }

Output

Enter a year to check if it is a leap year=1700

1700 is not a leap year

Output 2

Enter a year to check if it is a leap year=1996

1996 is a leap year

Output 3

Enter a year to check if it is a leap year=2008

2008 is a leap year

Enter a year to check if it is a leap year=2019

2019 is not a leap year