問 2(提出プログラム名:ex0402.c)
実数(double 型)を 1 つ読み込み, その数が 区間 [22.5, 28.5) に入らない限り,つまり,
「22.5 以上 28.5 未満」でない限り再び実数を読み込む,という繰り返しを行うプログラムを作成しなさい.ただし,必ず do – while 文を使うこと(while 文ではない点に注意).
その際,入力値が 22.5 以上 28.5 未満ならば「OK です」,さもなくば「ダメです」と表示すること.
提出するソースファイル(ソースプログラム)のファイル名は ex0402.c としなさい.
【ヒント】
「22.5 以上 28.5 未満」ではない ⇔「22.5 未満 または 28.5 以上」である(下図参照)
- 【プログラムの実行結果】(その1)※赤字は実行時にキーボードから入力する内容
実数を入力してください:1.2 ダメです⏎ 実数を入力してください:28.5 ダメです⏎ 実数を入力してください:24.59 OK です⏎
- 【プログラムの実行結果】(その2)※赤字は実行時にキーボードから入力する内容
実数を入力してください:22.5 OK です⏎
【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 実行の画面出力が上の例と違う(きちんと確認していない).
例えば,条件を書き間違えていて上の例とは違うタイミングで「OKです」と表示されている.
■ ここでは実数を扱うことになっているが誤って int 型で変数を用意している.
■ scanf で実数を読み込む際に %lf ではなく %d と書いてしまい,うまく動かず無限ループになってしまっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 問 1 (ex0401.c) ]
ミスが無いことを確認したら次の問題へ → [ 問3 (ex0403.c) ]