【C言語】うるう年を判定する方法

この記事では、C言語を使用してうるう年を判定する方法について解説します。

また、うるう年の判定プログラムを作成する際の注意点も説明します。

目次から探す

うるう年の判定方法

うるう年とは、通常の年に比べて1日多い366日で構成される年のことを指します。

うるう年は、2月に29日がある特別な年です。

では、どのようにしてうるう年を判定するのでしょうか?以下では、ルールに基づく判定方法とC言語での実装例を紹介します。

ルールに基づく判定方法

うるう年の判定には、以下のルールがあります。

  1. 西暦が4で割り切れる年は、うるう年である。
  2. ただし、100で割り切れる年は、うるう年ではない。
  3. ただし、400で割り切れる年は、うるう年である。

このルールに基づいて、うるう年を判定することができます。

C言語での実装例

以下に、C言語でうるう年を判定するための実装例を示します。


#include <stdio.h>
int isLeapYear(int year) {
    if (year % 4 == 0) {
        if (year % 100 == 0) {
            if (year % 400 == 0) {
                return 1;  // うるう年
            } else {
                return 0;  // うるう年ではない
            }
        } else {
            return 1;  // うるう年
        }
    } else {
        return 0;  // うるう年ではない
    }
}
int main() {
    int year;
    printf("年を入力してください:");
    scanf("%d", &year);
    if (isLeapYear(year)) {
        printf("%d年はうるう年です。\n", year);
    } else {
        printf("%d年はうるう年ではありません。\n", year);
    }
    return 0;
}

このプログラムでは、isLeapYear関数を定義しています。

この関数は、引数として受け取った年がうるう年かどうかを判定し、結果を1または0で返します。

メイン関数では、ユーザーに年を入力してもらい、isLeapYear関数を呼び出して結果を表示しています。

以下は、プログラムの実行例です。

年を入力してください:2020
2020年はうるう年です。
年を入力してください:1900
1900年はうるう年ではありません。
年を入力してください:2000
2000年はうるう年です。

このように、C言語を使用してうるう年を判定することができます。

ぜひ、この実装例を参考にしてみてください。

1 2
目次から探す