練習 [2] 演算とデータ型(3/4)

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

サンプルプログラム 3 (sample3.c)p0203.c という別の名前のファイルにコピーしなさい.
そして,p0203.c を編集して教科書に掲載されている演習 2-5 (p.37)を解きなさい.
ただし,入力に使用する変数 a と b は int 型で用意すること(double 型で用意してはいけません)
なお,実数を printf で表示する際に桁数は指定しないこと(書式には %f を用いよ)
(※printf で % 記号を表示させるには %% と重ねて書くとよい)

【ヒント】
この問題では a/b という割り算がポイントになりますが,a と b がいずれも int 型のため,そのまま割り算を行うと小数点以下が切り捨てられてしまいます.
それゆえ講義で説明したように,分子の方(a)だけを double 型にキャストするとよいです.
なお,分子と分母(a と b)の両方をキャストする必要はありません(キャストの書きすぎです)

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容
    入出力の順序に注意せよ:特に,途中は「整数a:」と表示 → 数字を入力 →「整数b:」と表示 → 数字を入力,という流れになっているのでこの通りに作ること
    a と b を 1 個の scanf でまとめて読み込むというのは間違いです!
二つの整数を入力せよ。
整数a: 54
整数b: 84
aの値はbの64.285714%です。
  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
二つの整数を入力せよ。
整数a: 123
整数b: 45
aの値はbの273.333333%です。

【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 出力の末尾で % を表示するのを忘れている.あるいは% が全角文字になっている.
■ パーセント(%)表示なので割り算した値を100倍して表示しなければならないがそれを忘れている
■ 計算式に誤りがあり,小数点以下が全部 0 になっているのにその間違いを見落としている.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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