練習 [5] 配列(1/5)

練習 1(提出プログラム名:p0501a.c)

以下の手順に従って整数の配列への格納と逆順コピーを実行できるプログラムを p0501a.c として作りなさい.なお,この問題では配列の宣言でその長さをマクロ SIZE を使って指定すること.ただし,SIZE の値は 10 と定義しなさい.
【手順】
①「〇〇 個の整数を入力してください:⏎」と出力する.
 ただし,〇〇 には SIZE で定義された整数が入る.
② SIZE 個の整数を配列 a へ先頭から順番に格納する.
③ 配列 a の内容を別の配列 b へ逆順でコピーする.
④ 実行例と全く同じかたちで,配列 a と b の内容を先頭から順に出力する.

【注意】
この問題では
 #define SIZE 10
というマクロの定義以外の場所では10 と書いてはいけません(SIZE と書くこと).
同様に SIZE-1 に該当する箇所で 9 と書いてもいけません.

  • 【プログラムの実行例】(その1)※赤字は実行時にキーボードから入力する内容
    最初のメッセージ出力を printf("10 個の整数を入力してください:\n");
    と書くのは間違いなのでくれぐれも注意せよ.必ず SIZE を使うこと.
10 個の整数を入力してください:⏎ 
97 5 0 -2 81 4 -6 13 -9 8
  a   b⏎
-------⏎
 97   8⏎
  5  -9⏎
  0  13⏎
 -2  -6⏎
 81   4⏎
  4  81⏎
 -6  -2⏎
 13   0⏎
 -9   5⏎
  8  97⏎

  • 【プログラムの実行例】(その2)※赤字は実行時にキーボードから入力する内容
10 個の整数を入力してください:⏎
1 2 3 4 5 6 7 8 9 10
  a   b⏎
-------⏎
  1  10⏎
  2   9⏎
  3   8⏎
  4   7⏎
  5   6⏎
  6   5⏎
  7   4⏎
  8   3⏎
  9   2⏎
 10   1⏎

【過去にあったミス(減点となり,やり直しを命じられる)】
■ 2 種類の実行例を確認せずに提出してしまっている.
■ マクロを使わず,プログラムの中で直接 10 や(SIZE-1 ではなく)9 と書いてしまっている.
■ 代入すべき位置(配列の添字)がずれている.
 配列の添字は 0 で始まるので,1 番目の数字は a[0] や b[0] であり,最後の数字
 は a[SIZE-1] や b[SIZE-1] になるが,これが 1 だけずれていて,a[1] を 1 番目と
 みなしていたり,b[SIZE] を最後の数字とみなしていたりする.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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