課題 [4] while 文(5/9)

問 5(提出プログラム名:ex0405.c)

1 つの整数 n を読み込み,1 から n までの合計値を以下の実行例のかたちで順番に出力するプログラムを作成しなさい.ただし,必ず while 文を使うことdo – while 文ではない)ならびに if 文は使わないこと.
なお,n は 1 以上の整数であると仮定してプログラムを作ってよい.
提出するソースファイル(ソースプログラム)のファイル名は ex0405.c としなさい.

【ヒント】
求められている処理を実現する手順(アルゴリズム)として以下のものが考えられます:

(合計値を sum として)
 ① sum = 0 とし, k = 1 とする(ただし,sumk は int 型の変数)
 ② k <= n である限り以下の③,④,⑤を繰り返す(while 文で書く):
   ③ sum += k;
   ④「k までの合計」として sum を出力する.
   ⑤ k++;

  • 【プログラムの実行結果】(その1)赤字は実行時にキーボードから入力する内容
    表示では「◯までの合計」の◯の部分が変化している(固定ではない)点に注意せよ.
n を入力してください:10
1 までの合計 = 1
2 までの合計 = 3
3 までの合計 = 6
4 までの合計 = 10
5 までの合計 = 15
6 までの合計 = 21
7 までの合計 = 28
8 までの合計 = 36
9 までの合計 = 45
10 までの合計 = 55
10 個すべてを「10 までの合計 = 」と出力してしまわないよう注意せよ.
  • 【プログラムの実行結果】(その2)赤字は実行時にキーボードから入力する内容
n を入力してください:1
1 までの合計 = 1

【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
実行の画面出力が上の例と違うきちんと確認していない).
  (例1)表示される数値がずれていて「10 までの合計」が「11 までの合計」になっている.
  (例2)表示が「k までの合計」というアルファベット表記になっている.
  (例3)途中で表示されている合計値が違っている.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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