練習 [4] while 文(教科書では主に 4 章が対応)(1/5)

練習 1(提出プログラム名:p0401.c)

サンプルプログラム 1 (sample1.c)p0401.c という別の名前のファイルにコピーしなさい.そして,p0401.c を編集して以下の例のように実行できるプログラムを作りなさい.
このプログラムでは得点(1 つの整数)を読み込み(得点に応じた)メッセージを出力させなさい.
ただし,得点が 80 点未満の場合は再び得点の読み込みとメッセージの出力を繰り返すものとする.
なお,出力するメッセージは次のいずれかとする:
 ・得点が 60 未満の場合:全然ダメです
 ・そうでないが 80 未満の場合:もう少し頑張りましょう
 ・上のいずれでもない場合:合格です

※この問題は do-while 文の練習が目的なので,必ず do-while を使うことそれ以外の構造で作った場合は不正解と見なす).

【ヒント】
この問題の場合は次の構造にするとよいでしょう:
 do
 {
  点数を読み込む;
  if ( 60 点未満か? )

  {
   「全然ダメ」と表示;

  }
  else if ( 80 点未満か? )

  {
   「もう少し頑張りましょう」と表示;
  }
  else

  {
   「合格です」と表示;
  }
 }
while ( 80 点未満か? );

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容
得点を入力してください:30
全然ダメです
得点を入力してください:59
全然ダメです
得点を入力してください:60
もう少し頑張りましょう
得点を入力してください:95
合格です
  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
得点を入力してください:80
合格です

【過去にあったミス(減点となり,やり直しを命じられる)】
■ 上の 2 種類の実行例と答えが違っている(きちんと確認していない).
  (例1)不要な文字列が表示されていたり,誤字があったりする.
  (例2)do-while ではなく while で作ろうとしてかえって複雑なプログラムになっている.
■ 繰り返しの条件を書き間違えていて無限ループになっている.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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