C Program to Find if a given Year is a Leap Year or Not, using Ternary Operator.
Related Read:
Ternary Operator / Conditional Operator In C
C Program To Check Leap Year
General Form of Ternary Operator
(expression_1) ? (expression_2) : (expression_3);
expression_1 is a comparison/conditional argument. expression_2 is executed/returned if expression_1 results in true, expression_3 gets executed/returned if expression_1 is false.
We are illustrating the use of multiple nested ternary operator in this program. We have a nested ternary operator in place of expression2 as well as expression3.
Leap Year Logic
Leap Year
1. If a year is a century year(years ending with 00) and if it’s perfectly divisible by 400, then it’s a leap year.
2. If the given year is not a century year and it’s perfectly divisible by 4, then it’s a leap year.
Not Leap Year
1. If the year entered is a century year(perfectly divisible by 100), but not perfectly divisible by 400. Then it’s not a leap year.
2. A year which is not a century year and is not perfectly divisible by 4 is not a leap year.
C Program To Check Leap Year Using Nested Ternary Operator
[youtube https://www.youtube.com/watch?v=B8k0nI5HxnM]
In this video tutorial we illustrate the use of multiple nested ternary operator / conditional operator inside a ternary operator.
First we check if given year is perfectly divisible by 100. If its true, then the entered year is a century year(year ending with 00). If the year is also perfectly divisible by 400, then its leap year, if not, its not a leap year.
If the user entered year is not a century year, then we check if the year is perfectly divisible by 4. If yes, then its a leap year, if not, then its not a leap year.
Check Leap Year Using Ternary Operator: C Program
#include < stdio.h > int main() { int year; printf("Enter the year\n"); scanf("%d", &year); (year % 100 == 0) ? ( (year % 400 == 0)? (printf("%d is leap year\n", year)): (printf("%d is not leap year\n", year)) ) : ( (year % 4 == 0)? (printf("%d is leap year\n", year)): (printf("%d is not leap year\n", year)) ); return 0; }
Output 1:
Enter the year
2019
2019 is not leap year!
Output 2:
Enter the year
2004
2004 is leap year!
Output 3:
Enter the year
2024
2024 is leap year!
List of some leap years
2000
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
You can run the program and input any of the above leap year and check for the output.
For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List
For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert