Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

【C言語】うるう年を判定する方法をわかりやすく解説

うるう年とは、1年が366日となる年のことです。通常の年(平年)は365日ですが、約4年に1度、2月29日が加わる「うるう年」が訪れます。

うるう年の判定条件

ユーザーがコンソールから入力した年がうるう年かどうかを判定するには、次の条件式を使用します。

if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))

この条件式の意味は以下の通りです。

  • 400で割り切れる年 → うるう年
  • 100で割り切れず、4で割り切れる年 → うるう年
  • 上記以外の年 → 平年

この条件が満たされれば、入力された年はうるう年であると判断できます。逆に条件を満たさなければ、それは平年です。なお、2000年は400で割り切れるためうるう年ですが、1900年は100で割り切れてしまうため、4で割り切れる年であっても平年になる点に注意しましょう。

サンプルプログラム

以下は、if文を使ってうるう年を判定するC言語のプログラムです。

#include <stdio.h>
int main(){
   int year;
   printf("Enter any year you wish \n ");
   scanf(" %d ", &year);
   if (( year%400 == 0)|| (( year%4 == 0 ) &&( year%100 != 0)))
      printf("\n %d is a Leap Year. \n", year);
   else
      printf("\n %d is not the Leap Year. \n", year);
   return 0;
}

このプログラムでは、scanfで年を整数として読み込み、先ほどの条件式で判定しています。うるう年であれば「Leap Year(うるう年)」、そうでなければ「not the Leap Year(平年)」というメッセージが出力されます。

実行結果

上記のプログラムを実行すると、次のような結果が得られます。

Enter any year you wish
2045
2045 is not the Leap Year.

この例では2045年を入力したため、「2045年はうるう年ではない」と表示されています。2045は4で割り切れますが、余りの計算により条件を満たさない年の一例です。実際には、2024年や2028年のように4で割り切れ、100で割り切れない年がうるう年として判定されます。

  1. C言語の線形探索で配列内の最小値を見つける方法を徹底解説

    C言語の探索アルゴリズムの種類C言語で使われる代表的な探索手法は、大きく分けて以下の2つです。線形探索(リニアサーチ)二分探索(バイナリサーチ)線形探索とは線形探索は、配列の先頭から順番に要素を一つずつ比較しながら目的のキーを探す、最も基本的な探索アルゴリズムです。データがソート(整列)されていなくても使用できる実装が非常にシンプルで理解しやすい欠点:データ数が多いほど処理時間が長くなり、システムの効率を低下させる可能性がある入出力のイメージは以下の通りです。入力:ソートされていない要素のリスト、探索キー出力:・成功 … キーが見つかった場合・失敗 … キーが見つからなかった場合例1:線形探索

  2. Windows 10でシステム稼働時間(アップタイム)を確認する4つの方法

    パソコンがどれくらいの時間連続して動作しているのか気になったことはありませんか?Windowsでは「システム稼働時間(System Uptime)」を簡単に確認できます。稼働時間とは、コンピューターが再起動なしに連続して起動し続けている時間のことです。この記事では、Windows 10/8.1/7/Server環境において、PowerShell、コマンドプロンプト、タスクマネージャー、SystemInfoツールを使ってシステム稼働時間を確認する方法を詳しく解説します。 Windowsのシステム稼働時間を確認する方法 Windows 10/8.1/7/Serverでパソコンの稼働時間や起動状態を