윤년법에 의하여 C 언어 윤년 계산하는 프로그램입니다.

 

코드: leap_year.c 

// 윤년법: 
// * 4년마다 2월달에 1일을 추가한다. 
// * 100년 단위에는 윤년이 아니다.
// * 400년 단위에는 윤년이다.
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지 
#include <stdio.h>

int main(void)
{
    int year; 
    scanf("%d", &year);

    // 유효성 검사: 1000~4000 사이의 숫자만 입력 
    if (year < 1000 || year > 4000)
    {
        printf("wrong");
    }
    else
    {
        if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
        {
            printf("true");
        }
        else
        {
            printf("false");
        }
    }

    return 0;
}

 

// 윤년법: 
// * 4년마다 2월달에 1일을 추가한다. 
// * 100년 단위에는 윤년이 아니다.
// * 400년 단위에는 윤년이다.
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지 
#include <stdio.h>

int main(void)
{
    int year;
    scanf("%d", &year);

    // 유효성 검사: 1000~4000 사이의 숫자만 입력 
    if (year < 1000 || year > 4000)
    {
        printf("wrong");
    }
    else
    {
        // 윤년법에 의한 윤년 계산 
        if (year % 400 == 0) // 400으로 나누어 떨어지면 무조건 윤년
        {
            printf("true");
        }
        else if (year % 100 == 0) // 400이 아닌 100으로 나누어 떨어지면 윤년 아님
        {
            printf("false"); 
        }
        else if (year % 4 == 0) // 4로 나누어 떨어지면 윤년 
        {
            printf("true"); 
        }
        else // 나머지는 윤년 아님 
        {
            printf("false");
        }
    }

    return 0;
}

Comments

Be the first to post a comment

Post a comment