C LANGUAGE TECHNOLOGY

【C言語】for文でうるう年を考慮したカレンダーの表示

悩んでいる人

C言語のfor文でうるう年を考慮したカレンダーの表示方法を教えて!

こういった悩みにお答えします.

本記事の信頼性

  • リアルタイムシステムの研究歴12年.
  • 東大教員の時に,英語でOSの授業.
  • 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校コンピュータサイエンス学部2021年の世界大学学術ランキングで20位)で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発
  • プログラミング歴15年以上,習得している言語: C/C++Solidity,Java,Python,Ruby,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
  • 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」GitHubにオープンソースとして公開

こういった私から学べます.

うるう年

うるう年とは,2月が28日ではなく29日と1日増える年のことです.

西暦年が「4の倍数である」かつ「100の倍数でない」,または「400の倍数である」ならばうるう年と判定します.

C言語で書いたうるう年を判定するis_leap_year関数は以下になります.

引数yearの値で判定し,うるう年ならばtrue,そうでないならfalseを返します.

for文でうるう年を考慮したカレンダー

for文でうるう年を考慮したカレンダーのコードは以下になります.

実行結果は以下になります.

3行目の2021と4行目の2,13行目の2020と14行目の2は入力した数字です.

つまり,2021年2月と2020年2月のカレンダーになります.

2020年はうるう年で2月は29日ありますが,正しく表示されることがわかります.

上記の結果はcalコマンドを真似しています.

calコマンドによる2021年2月と2020年2月のカレンダーの表示は以下になります.同じですね.

まとめ

C言語のfor文でうるう年を考慮したカレンダーの表示方法を紹介しました.

カレンダーの自作コードの出力結果が,calコマンドと同じになることを確認しました.

C言語を独学で習得することは難しいです.

私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.

友だち追加

独学が難しいあなたは,C言語を学べるおすすめのオンラインプログラミングスクール5社で自分に合うスクールを見つけましょう.後悔はさせません!

-C LANGUAGE, TECHNOLOGY
-, , , , , ,