問 2(提出プログラム名:ex0902.c)
このプログラム(ex0902.c)をダウンロードし,その中の関数 predict を完成させなさい.
関数 predict は,引数で与えられた西暦(整数) n について,
西暦 n 年における松山市の 12 月の平均気温の予測値(実数)を返すものとする.
ただし,ここでは次の方法で予測することとする:
まず,2000 年 12 月の平均気温は 8.4 度であったとする.
地球温暖化の影響により,毎年 12 月の平均気温は
前年よりも 1% 高い(つまり 1.01 をかけた)温度になると予測する(※フィクション).
なお,この問題では関数 main の内容は一切書き換えないこと.
また,n は 2000 以上の整数であると仮定してプログラムを作ってよい.
【注意】C 言語には,べき乗計算をやってくれる pow という関数が標準ライブラリ関数として用意されていますが(※ネットで検索すると見つかります),それを使ってはいけません.
【ヒント】
この問題では素直に 1.01 を適切な回数だけかけるだけで求まります.
しかも,元となる気温(8.4)と倍率(1.01)のどちらも実数のため double 型になっていますので,
キャストを行う必要もありません.
ただし,1.01 をかける回数には注意してください.例えば,n が 2022 ならば 22 回かけることになります(1 回足りないとか 1 回多いとかいったミスが意外とあります).
- 【プログラムの実行結果】(その1)※赤字は実行時にキーボードから入力する内容
松山市の 12 月の平均気温を予測します.⏎ 予測したい年(西暦:2000以上)を入力してください:2000 2000 年 12 月の平均気温は 8.40 度になるでしょう⏎
- 【プログラムの実行結果】(その2)※赤字は実行時にキーボードから入力する内容
松山市の 12 月の平均気温を予測します.⏎ 予測したい年(西暦:2000以上)を入力してください:2020 2020 年 12 月の平均気温は 10.25 度になるでしょう⏎
- 【プログラムの実行結果】(その3)※赤字は実行時にキーボードから入力する内容
松山市の 12 月の平均気温を予測します.⏎ 予測したい年(西暦:2000以上)を入力してください:2030 2030 年 12 月の平均気温は 11.32 度になるでしょう⏎
【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 実行の画面出力が上の例と違う(きちんと確認していない).
(例1)小数点以下が常に 0 になってしまっている.
(例2)予測される気温が実行例とは微妙に違っている(1.01 をかける回数が違っている).
■ 注意書きを見落としていて main 関数の中身を書き換えてしまっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 問 1 (ex0901.c) ]
ミスが無いことを確認したら次の問題へ → [ 問3 (ex0903.c) ]