- 追加された行はこの色です。
- 削除された行はこの色です。
*問題文 [#e6860a67]
#freeze
*解答例1 [#s5ebbf3c]
#geshi(c){{
#include <stdio.h>
次の空欄部分を補って、変数 y の値が西暦のうるう年かどうかを調べて出力するプログラムを完成させよ。
なお、うるう年は次のように決められる。
-4で割り切れる年はうるう年である。
-ただし、100で割り切れる年はうるう年ではない。
-ただし、400で割り切れる年はうるう年である。
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;
}
}}
*解答例2 [#c0c28fba]
#geshi(c){{
#include <stdio.h>
int main(void) {
int y = 2016;
if ( ) {
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 と変えて実行し、結果を確認せよ。
*解答例3 [#j033e953]
#geshi(c){{
#include <stdio.h>
''ヒント'': 2000年、2016年はうるう年であるが、2015年、2017年、2100年はうるう年ではない。
*解答例 [#p5926039]
#geshi(c){{
int main(void) {
int y = 2016;
if (y % 400 == 0 || y % 4 == 0 && y % 100 > 0) {
if (y % 400 == 0) {
printf("西暦%d年はうるう年です\n", y);
} else if (y % 4 == 0 && y % 100 > 0) {
printf("西暦%d年はうるう年です\n", y);
} else {
printf("西暦%d年はうるう年ではありません\n", y);
}
return 0;
}
}}