練習 [5] for 文(2/5)

練習 2(提出プログラム名:p0502.c)

サンプルプログラム 2 (sample2.c)p0502.c という別の名前のファイルにコピーしなさい.そして,p0502.c を編集して以下の例のように実行できるプログラムを作りなさい.
なお,この問題では必ず for 文を使うこととする.また,if 文を使ってはいけません
ただし,初項,公差,項数はいずれも整数であると仮定してプログラムを作ってよい.

このプログラムではサンプルプログラム 2 に対してさらに機能を追加し,等差数列に登場する数値の合計を出力させている.(実行例 1 でいえば「この数列の和 = 8 」という部分が追加機能に相当する.)

【注意】
等差数列の第 n 項の値数列の和高校で習う公式を使っても計算できるが,
この問題は for 文の練習なので公式を使ってはいけません.for 文による繰り返しで求めること

【特に気を付けるべき点】
仮に合計値を sum という変数で表すとして,for 文による繰り返しで合計を求める場合には
for 文の前に sum = 0; を必ず書く(初期化を行う)のを絶対に忘れないようにしてください.
環境によってはこれを忘れていてもうまくいく(sum の初期値が運良く 0 になっている)こともありますが,必ずうまく動くという保証はできません.
変数の初期化忘れは見落としがちなミスの代表例といえます.

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容
初項:5
公差:-2
項数:4
第 1 項 = 5
第 2 項 = 3
第 3 項 = 1
第 4 項 = -1 
この数列の和 = 8
※数列の和を出力した後に改行(\n)を入れ忘れないよう注意せよ.
  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
初項:0
公差:3
項数:123
第 1 項 = 0
第 2 項 = 3
第 3 項 = 6

... (中略) ...

第 123 項 = 366
この数列の和 = 22509
  • 【プログラムの実行例】(その3)赤字は実行時にキーボードから入力する内容
初項:18
公差:9
項数:365
第 1 項 = 18
第 2 項 = 27
第 3 項 = 36

... (中略) ...

第 365 項 = 3294
この数列の和 = 604440

【過去にあったミス(減点となり,やり直しを命じられる)】
■ 上の 3 種類の実行例と答えが違っている(きちんと確認していない).
 特に,合計値(最後に出力される和)が間違っていることを見落としている.
■ 合計値を求めるための変数(例えば sum)を for 文に先立って 0 に初期化していない
 (必ず sum = 0; を for 文より前に書くこと!
■ 注意書きを見落としていて「等差数列の和の公式」を使ってしまっている.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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