この記事では、C言語を使用してうるう年を判定する方法について解説します。
また、うるう年の判定プログラムを作成する際の注意点も説明します。
目次から探す
うるう年の判定方法
うるう年とは、通常の年に比べて1日多い366日で構成される年のことを指します。
うるう年は、2月に29日がある特別な年です。
では、どのようにしてうるう年を判定するのでしょうか?以下では、ルールに基づく判定方法とC言語での実装例を紹介します。
ルールに基づく判定方法
うるう年の判定には、以下のルールがあります。
- 西暦が4で割り切れる年は、うるう年である。
- ただし、100で割り切れる年は、うるう年ではない。
- ただし、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言語を使用してうるう年を判定することができます。
ぜひ、この実装例を参考にしてみてください。
次のページうるう年の判定プログラムの注意点