問題CPP00116の解答例と解説 C++ Lv.1

整数の割り算(15分)


<解答例 1>
F11キーでフルスクリーンモード、Escキーで元に戻ります。

<解答例 2>
F11キーでフルスクリーンモード、Escキーで元に戻ります。

答えは、3 / 2 は、1.5ではなく、1になっていたよね。これは、int型の値同士の計算の結果は、int型の値になるというルールがあるからなんだ。

そして、小数点以下の端数は切りしてられてしまうから 3 / 2 は 1.5 にはならず、0.5 が切り捨てられて 1 になるよ。


今回作った関数の戻り値はdouble型なんだけど、いったんint型になったあとの値がdouble型になって返されるんだ。解答例2 では、3行目で、右辺の計算結果が 1 になって、それが変数 c に代入されて 1.0 になるよ。

1.5を返したい場合は、以下のようにプログラムすると良いよ。試してみよう。

F11キーでフルスクリーンモード、Escキーで元に戻ります。

こういうことを型変換またはキャストというよ。詳しいことはweb で "C++ 型変換"、"C++ キャスト" で検索してみよう。




初めての方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。会員登録(無料)して、プログラミングしてみませんか?
新規登録



ログイン
メールアドレス:

パスワード:



パスワード紛失

新規登録