練習 [3] while 文(3/5)

練習 3(提出プログラム名:p0303a.c)

以下の例のように実行できるプログラムを p0303a.c として作りなさい.
このプログラムでは 1 つの整数 x を読み込み,
1 以上 x 以下の偶数のみの合計」と「1 以上 x 以下の奇数のみの合計」を
それぞれ表示させている.なお,x は 1 以上の整数であると仮定してプログラムを作ってよい.
【注意点】
「等差数列の和」の公式を使ってはいけません
if 文は 1 回しか使ってはいけません

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容
    表示される合計は「偶数,奇数の順」になっている点に(逆にならないよう)注意せよ.
整数を 1 つ入力してください:10
1 から 10 までの偶数の合計は 30 です
1 から 10 までの奇数の合計は 25 です
  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
    上とは異なり「1 から 123 までの…」と表示されている点に注意せよ.
整数を 1 つ入力してください:123
1 から 123 までの偶数の合計は 3782 です
1 から 123 までの奇数の合計は 3844 です
  • 【プログラムの実行例】(その3)赤字は実行時にキーボードから入力する内容
整数を 1 つ入力してください:1024
1 から 1024 までの偶数の合計は 262656 です
1 から 1024 までの奇数の合計は 262144 です

【過去にあったミス(減点となり,やり直しを命じられる)】
■ while での繰り返しに入る前に行うべき変数の初期化(最初に 0 を代入)を忘れている.
 (Windows 環境の gcc だとこれを忘れてもうまく動くことも多いようですが保証はされません.
  少なくとも本講義では初期化を行っていない場合はすべて誤りとみなします.)
■ 上の3種類の実行例と答えが違っている(きちんと確認していない).
  (例1)合計値が違っている.
  (例2)偶数と奇数を逆に出力させている.
  (例3)表示が「1 から x までの◯◯の合計は」というようにアルファベットになっている.
  (例4)「偶数」,「奇数」と表示させていない(単に合計とだけ表示している).
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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