//西暦を入力したらその年が閏(うるう)年かどうかを判定するプログラムを作成せよ。 //なお、4で割り切れる年のうち、100で割り切れないか、400で割り切れる年は閏年である。 #include #include // bool型を使用するために必要 (C99以降) // 閏年を判定する関数 bool isLeap(int year) { // 条件1: 4で割り切れる bool condition_1 = (year % 4 == 0); // 条件2: 100で割り切れない bool condition_2 = (year % 100 [ ア ]); // 条件3: 400で割り切れる bool condition_3 = (year % 400 [ イ ]); // 閏年の判定ロジック: (4で割り切れて、かつ100で割り切れない) OR (400で割り切れる) if ( (condition_1 && condition_2) || condition_3 ) { return true; } else { return false; } } int main() { int year; // 入力された西暦 printf("判定したい西暦年を入力してください: "); if (scanf("%d", &year) != 1) { printf("エラー: 無効な入力です。\n"); return 1; } if (year <= 0) { printf("エラー: 正しい西暦年を入力してください。\n"); return 1; } printf("\n--- 判定結果 ---\n"); if (isLeap(year)) { printf("%d 年は 閏年(うるう年)です。\n", year); } else { printf("%d 年は 平年(へいねん)です。\n", year); } printf("--------------\n"); return 0; // 正常終了 }