C Program to Check if a year is Leap or not

General Introduction:

If we ask most of the people what leap year is, then most of them will reply “A year in every 4 years.”. While it is partially true, it is not that simple.

4,8,12,16,20,………….,96 are leap years. However, 100 is not a leap year.
104,108,112,116,120,……..,196 are leap year. However, 200 is not a leap year.
204,208,212,216,220,…..,296 are leap years. However, 300 is not a leap year.
304,308,312,316,320,……,396 are leap years and 400 is also leap year.
And so on.

Algorithm for finding leap year:

• Step 1: If the year is exactly divisible by 4 go to step 2, else go to step 5.
• Step 2: If the year is exactly divisible by 100 go to step 3, else go to step 4.
• Step 3: If the year is exactly divisible by 400, go to step 4, else go to step 5.
• Step 4: Print the year is a leap year.
• Step 5: Print the year is not a leap year.

Code in C:

``````#include<stdio.h>
#include<conio.h>
int main()
{
int year;
printf("Enter the year to know if it is leap or not: ");
scanf("%d",&year);

if(year%4==0)
{
if(year%100==0)
{
if(year%400==0)
{
printf("%d year is leap year",year);
}
else
{
printf("%d year is not leap year",year);
}
}

else
{
printf("%d year is leap year.",year);
}
}

else
{
printf("%d year is not leap year",year);
}
getch();
return(0);
}``````

Optimized Code:

``````#include<stdio.h>
#include<conio.h>

int main()
{
int year;
printf("Enter the year to know if it is leap or not: ");
scanf("%d",&year);

if(year%400==0)
{
printf("%d year is leap year",year);
}

else if(year%100==0)
{
printf("%d year is not leap year",year);
}

else if(year%4==0)
{
printf("%d year is leap year",year);
}

else
{
printf("%d year is not leap year",year);
}
getch();
return(0);
}``````

Outputs:

Also Read: C Program to Implement Binary Search