問 6(提出プログラム名:ex1106.c)
このプログラム(ex1106.c)をダウンロードし,その中の関数 grow を完成させなさい.
このプログラムは,ある生物の成長をシミュレーションするものとなっている.
その生物は前日の x % 増しのペースで毎日体重が増え続けているという(ただし,x は正の整数).
関数 grow は,この成長をシミュレーションし,今日の体重を表した変数の値を n 日後の体重に書き換えるものとする.
【関数 grow の各引数】
● pw: double 型変数へのポインタ.参照先の変数に成長前の体重が格納してある.
関数の実行時には,このポインタを介して体重を書き換える.
● n:シミュレーションする日数(ただし,n は 0 以上の整数とする).
● a:成長率(前日の何倍になるかを表した実数.例えば 10% 増しならば 1.1 として与える)
この問題では関数 main の内容は一切書き換えないこと.
【注意】
最初に入力する「x %増し」の x は整数であり,関数 grow に与える成長率 a はこれを加工したものになるが,その加工は既に main 関数の中に書いてあるので気にしなくてよい.
(例えば x = 10 の場合は a = 1.1 となるようにしてある)
なお,関数 grow は戻り値を持たないので戻り値型は void と宣言してある.
これを変更してはいけませんし,戻り値を持たせても(return を書いても)いけません.
【ヒント】
関数 grow の中で扱う体重と成長率はいずれも double 型の実数なので,キャストを行う必要はありません.
- 【プログラムの実行結果】(その1)※赤字は実行時にキーボードから入力する内容
その生物の体重を入力してください:2.5 前日の何%増しになるか入力してください:10 何日後の体重をシミュレーションしますか:20 ⏎ 現在 2.50 [kg] の生物ですが,20 日後の体重は 16.82 [kg] と予想されます.⏎
- 【プログラムの実行結果】(その2)※赤字は実行時にキーボードから入力する内容
その生物の体重を入力してください:1.3 前日の何%増しになるか入力してください:8 何日後の体重をシミュレーションしますか:100 ⏎ 現在 1.30 [kg] の生物ですが,100 日後の体重は 2859.69 [kg] と予想されます.⏎
- 【プログラムの実行結果】(その3)※赤字は実行時にキーボードから入力する内容
その生物の体重を入力してください:2 前日の何%増しになるか入力してください:5 何日後の体重をシミュレーションしますか:0 ⏎ 現在 2.00 [kg] の生物ですが,0 日後の体重は 2.00 [kg] と予想されます.⏎
【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 実行の画面出力が上の例と違う(きちんと確認していない).
例えば,実行例3だけが違っている等.
■ 関数 grow の中で不必要にキャストが行われている.
■ main 関数を書き換えてしまっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない)
← [ 問 5 (ex1105.c) ]
ミスが無いことを確認したら次の問題へ → [ 問 7 (ex1107.c) ]