# Skenz - How To Wiki

### Site Tools

cs:c_language:leap_year

# Differences

This shows you the differences between two versions of the page.

 cs:c_language:leap_year [2018/11/20 10:54]zioskenz cs:c_language:leap_year [2019/02/26 14:35] Line 1: Line 1: - ====== Leap Year ====== - **Concepts:​**\\ - If statement and boolean expressions - **Text:**\\ - Given a year (an integer number), say if it is a leap year. - A leap year is a year: - * divisible by 4 - * but not by 100 - * with the exception of the years divisible by 400, which are leap years - - Examples: 1996, 2000 and 2100 are leap years; instead 2015, 1900 and 2100 are not leap years. - - **Solution:​**\\ - - - /* - Given a year (an integer number), say if it is a leap year. - A leap year is divisible by 4, but not by 100. - An exception are the years divisible by 400, which are leap years. - */ - - #include <​stdio.h>​ - - - int main(void){ - int leap=0; - int year; - - printf("​Insert an year: "); - scanf("​%d",​ &year); - - /* First solution: base on a support varible leap */ - if ( year%4==0 )   /* divisible by 4 */ - leap=1; - - if ( year%100==0 ) /* but not by 100 */ - leap=0; - - if ( year%400==0 ) /* but year divisible by 400 are leap years */ - leap=1; - - if ( leap==1 ){ - printf("​%d is a leap year\n",​ year); - }else{ - printf("​%d is not a leap year\n",​ year); - } - - /* Second solution: using a boolean expression */ - if ( (year%4==0 && year%100!=0) || year%400==0 ){ - printf("​%d is a leap year\n",​ year); - }else{ - printf("​%d is not a leap year\n",​ year); - } - - return 0; - } -