Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,907 questions

51,839 answers

573 users

How to check leap year in C

2 Answers

0 votes
#include <stdio.h>
 
int main(int argc, char **argv)
{
    int year;
 
    printf("Enter a year: ");
    scanf("%d", &year);
 
    if (year % 400 == 0)
        printf("%d is a leap year.\n", year);
    else if (year % 100 == 0)
             printf("%d is not a leap year.\n", year);    
         else if (year % 4 == 0)
                  printf("%d is a leap year.\n", year);
              else
                  printf("%d is not a leap year.\n", year);
    
    return(0);
}




/*
run:

Enter a year: 2016
2016 is a leap year.

*/


answered Sep 9, 2014 by avibootz
edited May 24, 2015 by avibootz
0 votes
#include <stdio.h>
#include <stdbool.h>


_Bool isLeapYear(int year);

int main(int argc, char **argv) 
{ 
    int years[] = {2000, 2400, 1800, 1900, 2100, 2200, 2300, 2500,
                   2008, 2012, 2016, 2020, 2024, 2048, 2032};
    
    for (int i = 0; i < sizeof(years)/sizeof(years[0]); i++)
    {
        if (isLeapYear(years[i]))
            printf("%d is a leap year.\n", years[i]);
        else
            printf("%d is not a leap year.\n", years[i]);
    }
    
    return(0);
}

_Bool isLeapYear(int year) 
{
    if (year % 400 == 0)
        return true;
    else if (year % 100 == 0)
             return false;
    else if (year % 4 == 0)
             return true;
    
    return false;
}


/*
run:

2000 is a leap year.
2400 is a leap year.
1800 is not a leap year.
1900 is not a leap year.
2100 is not a leap year.
2200 is not a leap year.
2300 is not a leap year.
2500 is not a leap year.
2008 is a leap year.
2012 is a leap year.
2016 is a leap year.
2020 is a leap year.
2024 is a leap year.
2048 is a leap year.
2032 is a leap year.

*/


answered May 23, 2015 by avibootz

Related questions

2 answers 161 views
161 views asked Feb 13, 2021 by avibootz
2 answers 209 views
209 views asked Feb 13, 2021 by avibootz
1 answer 133 views
133 views asked May 23, 2017 by avibootz
1 answer 120 views
1 answer 84 views
84 views asked Dec 12, 2024 by avibootz
1 answer 84 views
84 views asked Dec 12, 2024 by avibootz
1 answer 77 views
...