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

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

サンプルプログラム 1 (sample1.c)p0601.c という別の名前のファイルにコピーしなさい.そして,p0601.c を次の指示に従って編集し,以下の例のように実行できるプログラムを作りなさい.

【編集すべき点:3点】
①新たにマクロ SIZE を定義しなさい.その値は 4 とする.
②配列の長さを SIZE としなさい.
 そして,元のプログラムで 10 と書かれていた部分はすべて SIZE に変更しなさい.
 なお,編集後のプログラムでは 4 と書いてはいけません(#define SIZE 4 を除く
③「何番目の数字を答えましょうか:」という問いに対し,
 範囲外の数字(1 未満または SIZE より大きい数字)が指定された場合は数字を
 出力する代わりに「該当する数字はありません」と出力するようにしなさい.

なお,マクロの定義 #define SIZE 4 プログラムの冒頭部分(通常は #include <stdio.h> のすぐ下)に書きなさいmain{} 内に書いた場合は誤りと見なす.

【この問題の趣旨】
講義で説明したように,プログラムの冒頭部分で最初に「配列の長さ」を SIZE として定義して一元管理することに意味があるので,その練習です.
言い換えると,プログラムの途中で配列の長さである 4 やそれに関連する数字(3 や 5 (SIZE-1やSIZE+1の意味))を直接書くのは講義内容を全く理解できていないのと同じですので,くれぐれもそのような間違いをしないようにしてください.

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容
    ※printf で直接 “4 個” と書くのは誤りなので注意せよ.必ず "%d"SIZE を使うこと.
    あわせて,「…でした」の末尾に改行(\n)を忘れないよう注意せよ.
整数を 4 個入力してください:
2 3 4 5
何番目の数字を答えましょうか:
1
1 番目の数字は 2 でした

  • 【プログラムの実行例】(その2)赤字は実行時にキーボードから入力する内容
    こちらも「… ありません」の末尾に改行(\n)を忘れないよう注意せよ.
整数を 4 個入力してください:
2 3 4 5
何番目の数字を答えましょうか:
0
該当する数字はありません

  • 【プログラムの実行例】(その3)赤字は実行時にキーボードから入力する内容
整数を 4 個入力してください:
2 3 4 5
何番目の数字を答えましょうか:
4
4 番目の数字は 5 でした

  • 【プログラムの実行例】(その4)赤字は実行時にキーボードから入力する内容
整数を 4 個入力してください:
2 3 4 5
何番目の数字を答えましょうか:
5
該当する数字はありません

【過去にあったミス(減点となり,やり直しを命じられる)】
■ 上の 4 種類の実行例と出力が違っている
 例えば,「該当する数字はありません」の場合でも「◯番目の数字は△でした」を出力している.
■ 出力される文言が微妙に違っている
■ チェック漏れがあり,一部でマクロを使わずに 4 という数字を直接書いてしまっている.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


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