練習 [2] if 文(3/5)

練習 3(提出プログラム名:p0203a.c)

以下の例のように実行できるプログラムを作りなさい.提出ファイル名は p0203a.c としなさい.
このプログラムでは 3 つのレポートの得点(いずれも整数)を読み込み,(それらを x, y, z として)
 ① 3 つとも 60 以上の時:「完璧な合格です」と表示する.
 ② 条件①は成立しないが
  「x >= 60」で,なおかつ「y >= 60 または z >= 60」 の時:「とりあえず合格です」と表示する.
   (※ x が 60 以上は必須であり,y と z についてはどちらか一方が 60 以上ならば合格という意味である)
 ③ 上のいずれでもない時:「不合格です」と表示する.

【ヒント】
条件②は if ( x >= 60 && ( y >= 60 || z >= 60 ) ) という具合いにカッコを付ける必要がある点に注意してください.
カッコを付けない場合は && の方が優先されるので
  if ( ( x >= 60 && y >= 60 ) || z >= 60 )
と解釈されてしまいます.つまり,
「x >= 60 で,なおかつ y >= 60」または「z >= 60」のどちらかが成立すればよいと誤解されます.

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容
3 つのレポートの点数を入力してください:60 70 80
完璧な合格です
  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
3 つのレポートの点数を入力してください:80 50 60
とりあえず合格です
  • 【プログラムの実行例】(その3)赤字は実行時にキーボードから入力する内容
3 つのレポートの点数を入力してください:50 100 100
不合格です
  • 【プログラムの実行例】(その4)赤字は実行時にキーボードから入力する内容
3 つのレポートの点数を入力してください:100 50 50
不合格です

【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 上の4種類の実行例をきちんと試していない
 条件の組合せはプログラミングにおいて最もミスしやすい部分です.
 間違いは誰でもあるのですが,それゆえに動作確認は丁寧に行ってください.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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