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

練習 4(提出プログラム名:p0104a.c)

以下の例のように実行できるプログラムを作りなさい.ファイル名は p0104a.c としなさい.
このプログラムでは 2 つの実数(double型)x, y を読み込み,
x/y を以下の 3 種類の形式で表示させている:
(1種類目)特別な桁数の指定はせずにそのまま表示させる.
(2種類目)上位桁を 0 で埋めつつ全体を 9 桁,小数点以下は 5 桁で表示させる.
(3種類目)小数点以下を 15 桁まで表示させる(全体の桁数は指定しない).
なお,ここでは y は 0 でないものと仮定してプログラムを作ってよい.

【ヒント】
例えば,全体を 15 桁の幅で表示し,そのうちの 12 桁を小数点以下に割り当てたい場合は
   "%15.12f"
と指定することになります.もしも上位桁を 0 で埋めたい場合は,これを
   "%015.12f"
と書くことになります(※ %00015.12f 等と書くのは誤り
なお,全体の桁指定を省略し,小数点以下の桁数のみを指定したい場合は
   "%.12f"
と書くことになります(※ %0.12f 等と書くのは誤り

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容
2 つの実数を入力してください:1.2 3.14
x/y = 0.382166
x/y = 000.38217
x/y = 0.382165605095541
  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
2 つの実数を入力してください:2.33 4.5
x/y = 0.517778
x/y = 000.51778
x/y = 0.517777777777778

【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 表示されている数値や桁数が上の実行例とは微妙に違っているのに,それを確認していない
 (ただし,処理系依存のため,一番下の桁だけは数値が異なる可能性はある)
printf での書式指定の書き方を間違えている(例えば(2)を %0009.5f と指定している).
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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