課題 [4] while 文(2/9)

問 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 上でインデントを自動で揃える作業をやっていない).


ミスが無いことを確認したら次の問題へ → [ 問3 (ex0403.c) ]