練習 1(提出プログラム名:p0501a.c)
以下の例のように整数の配列への格納と逆順コピーを実行できるプログラムを p0501a.c として作りなさい.なお,この問題では配列の宣言でその長さをマクロ SIZE を使って指定すること.ただし,SIZE の値は 10 と定義しなさい.
このプログラムでは SIZE 個の整数を読み込んでそれらを配列 a へ格納し,その後,別の配列 b へ入力とは逆の順番で格納している.そして,実行例のように配列 a と配列 b の内容を出力させている.
【注意】
この問題では
#define SIZE 10
というマクロの定義以外の場所では 10 と書いてはいけません(SIZE と書くこと).
同様に SIZE-1 に該当する箇所で 9 と書いてもいけません.
- 【プログラムの実行例】(その1)※赤字は実行時にキーボードから入力する内容
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) ]