【課題4−1 関数の仕組み】 次のプログラムは西暦を入力して,閏年(leap year)か否かを判定するプログラムである.is_leap_year関数をそのまま利用し,西暦と月を入力して,月の最終日を求めるプログラムを作成せよ. #include int is_leap_year(int y); // 関数プロトタイプ宣言 int main(void) { int year; printf("西暦="); scanf("%d", &year); if (is_leap_year(year) == 0) printf("%d年は閏年ではありません.¥n", year); else printf("%d年は閏年です.¥n", year); return 0; } // 閏年の判定 // 引数 y:西暦年; 返値 1:閏年 0:閏年以外 int is_leap_year(int y) { int rc = 0; if (y % 4 == 0 && (y % 100 != 0 || y % 400 == 0)) rc = 1; return rc; } 【実行結果例】 西暦=2001 2001年は閏年ではありません. 【解説とヒント】 各月の最終日を得るには,switchやifで記述するより,たとえば int last[]={31,28,31,30,31,30,31,31,30,31,30,31}; といった配列を使った方が簡潔に記述できる.