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

練習 2(提出プログラム名:p0202a.c)

以下の例のように実行できるプログラムを作りなさい.提出ファイル名は p0202a.c としなさい.
このプログラムでは 2 つの整数を読み込み,(それらを x, y として)
 ① (x の 2乗) < y の時:「◯は△の平方根よりも小さいです」と表示する.
 ② (x の 2 乗) > y の時:「◯は△の平方根よりも大きいです」と表示する.
 ③ 上のいずれでもない時:「◯は△の平方根です」と表示する.
ただし,表示の際には◯と△にはいずれも実際に入力された x と y を使用すること(以下の実行例を参照).
なお,x, y はいずれも 1 以上の整数と仮定してプログラムを作ってよい.

【ヒント】
if 文構造としてはいくつか考えられるが,例えば以下のような構造がある:
 if ( ①の条件 ){
   
①の処理
 }
 else if (
②の条件 ){
   
②の処理
 }
 else{
   
③の処理
 }

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容
    以下の実行例では実際に入力された 3 と 14 が出力で使われている(x や y といったアルファベットではない)点に注意せよ
2 つの整数を入力してください:3 14
3 は 14 の平方根よりも小さいです
  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
    以下の実行例2では実行例1とは違って「大きいです」と表示される点に注意せよ(コピペで作って同じメッセージを表示させてしまわないこと)
2 つの整数を入力してください:7 36
7 は 36 の平方根よりも大きいです
  • 【プログラムの実行例】(その3)赤字は実行時にキーボードから入力する内容
2 つの整数を入力してください:6 36
6 は 36 の平方根です

【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 上の実行例と出力の結果が違っているよく確認していない).
 (例1)「x は y の平方根…」という表示で x と y がアルファベットのままになっている.
     (実際に入力された整数を表示させるのが正解)
 (例2)上に示された3種類の実行例を試していない.
■ 【ヒント】として書かれていた構造で作った場合に,
 わざわざ if ( x*x == y ) という if 文も書いている.このような if 文を書くのは完全に無駄です.
 なぜなら,その上の 2 つの条件がいずれも成立しない場合は x*xy が等しいのは明らかです.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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