課題 [9] 関数②(2/9)

問 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 上でインデントを自動で揃える作業をやっていない).


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