大の月、小の月、つまりたとえば、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
<説明>
閏年の判定法が判れば、あとは簡単に理解できるはず。