練習 [1] 演算とデータ型(3/5)

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

教科書に掲載されている演習 2-5 (p.37)を解き,p0103a.c として提出しなさい.
(※この問題は 2 個の整数 a, b を読み込み,a の値が b の値の何%に相当するかを答えるものである.)
ただし,プログラムの中で double 型の変数を使ってはいけません
なお,実数を printf で表示する際に桁数は指定しないこと(書式には %f を用いよ)
(※printf% 記号を表示させるには %% と重ねて書くとよい)
ここでは b の値は 0 でないものと仮定してプログラムを作ってよい.

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

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容
二つの整数を入力せよ。
整数a: 54
整数b: 84
aの値はbの64.285714%です。
  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
3 つのレポートの点数を入力してください:80 50 60
とりあえず合格です
  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
二つの整数を入力せよ。
整数a: 123
整数b: 45
aの値はbの273.333333%です。

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


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