大の月、小の月、つまりたとえば、3月は31日あるのに対し、4月は30日しかない。各月の日数、あなたなら、判ってらしゃるよね。

周りに聞いても、なかなか覚えてないひとが多いみたい。小さい頃、自分がよく教わっていたのに。

上の写真の意味はお分かりですか。
左手でも、右手でも、また、左端から数えても、右端から数えても、全く同じだが、山は大の月、谷は小の月(あるいは2月)を示すのだ。

たとえば、写真の通り、左手の右端から数えていこう。1月、2月、…、7月、と数えていき、左端の山に止まる。つぎの8月はもう1回、左端の山を使う。8月、9月、…、12月。どう? 大の月、小の月、これで生涯忘れないでしょ。ひとによっては、8月はもう片方の握り拳を使うらしいが、原理は皆同じ。

<関数名>
daysOfMonth —- 西暦年と月から、その月の日数を算出

<形式>
int daysOfMonth(int year, int month);

<引数>
year, month 西暦年月

<関数値>
その月の日数。たとえば、1月であれば31、4月であれば30。

<注意事項>
閏年にも対応している
引数の月の値が1〜12以外であれば、1月とみなす。

用例
daysOfMonth(2004, 2);

<関数本体>
daysOfMonth.c

<説明>
閏年の判定法が判れば、あとは簡単に理解できるはず。

Comments are closed.

Post Navigation