- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 授業/C言語基礎/if文/練習問題/03A-3 へ行く。
- 1 (2016-10-15 (土) 18:39:26)
- 2 (2016-10-15 (土) 18:39:26)
- 3 (2017-10-05 (木) 19:32:38)
問題文 †
次の空欄部分を補って、変数 y の値が西暦のうるう年かどうかを調べて出力するプログラムを完成させよ。 なお、うるう年は次のように決められる。
- 4で割り切れる年はうるう年である。
- ただし、100で割り切れる年はうるう年ではない。
- ただし、400で割り切れる年はうるう年である。
#include <stdio.h> int main(void) { int y = 2016; if (y % 400 == 0 || y % 4 == 0 && y % 100 > 0) { printf("西暦%d年はうるう年です\n", y); } else { printf("西暦%d年はうるう年ではありません\n", y); } return 0; }
また、変数の y の初期値を 2000, 2015, 2016, 2017, 2100 と変えて実行し、結果を確認せよ。
ヒント: 2000年、2016年はうるう年であるが、2015年、2017年、2100年はうるう年ではない。
解答例 †
#include <stdio.h> int main(void) { int y = 2016; if ((y % 400 == 0) || ((y % 4 == 0) && (y % 100 > 0))) { printf("西暦%d年はうるう年です\n", y); } else { printf("西暦%d年はうるう年ではありません\n", y); } return 0; }