Girilen Yılın Artık Yıl olup olmadığını kontrol eden C Programı

Girilen yıl yalnızca 400 tarafından mükemmel bir şekilde bölünebiliyorsa artık bir yıldır.

Artık Yılların Belirlenmesi
Genel bir kural olarak artık yıllar 4 rakamının katı olan yıllardır:
1992, 1996, 2000, 2004, 2008, 2012, 2016 gibi.
Ancak;

100’ün katı olan yıllardan sadece 400’e kalansız olarak bölünebilenler artık yıldır:

Örneğin 1200, 1600, 2000 yılları artık yıldır ancak 1700, 1800 ve 1900 artık yıl değildir. Sadece 400’e tam olarak bölünebilenlerin artık yıl kabul edilmesinin nedeni, bir astronomik yılın 365,25 yerine yaklaşık olarak 365,242 gün olmasından kaynaklanan hatayı gidermektir.

#include <stdio.h>

int main()
{
    int year;

    printf("Bir yıl girin: ");
    scanf("%d",&year);

    if(year%4 == 0)
    {
        if( year%100 == 0)
        {
            // yıl 400 ile bölünebilir, dolayısıyla yıl artık yıl
            if ( year%400 == 0)
                printf("%d artık yıldır.", year);
            else
                printf("%d artık yıl değildir.", year);
        }
        else
            printf("%d artık yıldır.", year );
    }
    else
        printf("%d artık yıl değildir.", year);
    
    return 0;
}

Çıktısı :

Bir yıl girin: 1900
1900 artık yıl değildir.