C program to check if a given year is leap year using Conditional operator

Given an integer which represents the year, the task is to check if this is a leap year, with the help of Ternary Operator.

A year is a leap year if the following conditions are satisfied:

  1. Year is multiple of 400.
  2. Year is multiple of 4 and not multiple of 100.



Following is pseudo code

if year is divisible by 400 then is_leap_year
else if year is divisible by 100 then not_leap_year
else if year is divisible by 4 then is_leap_year
else not_leap_year

Below is the implementation of the above approach:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C program to check if a given
// year is a leap year or not
  
#include <stdbool.h>
#include <stdio.h>
  
bool checkYear(int n)
{
  
    return (n % 400 == 0)
               ? true
               : (n % 4 == 0)
                     ? (n % 100 != 0)
                     : false
                           ? true
                           : false;
}
  
// Driver code
int main()
{
    int year = 2000;
  
    checkYear(year)
        ? printf("Leap Year")
        : printf("Not a Leap Year");
  
    return 0;
}

chevron_right


Output:

Leap Year


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.