練習 4(提出プログラム名:p1104a.c)
練習 3 で作成したプログラム(p1103a.c)を p1104a.c という別名のファイルにコピーしなさい.
そして,p1104a.c を編集して,英単語を末尾ではなく先頭へ挿入するかたちで出力できる(実行例を参照)プログラムに変更しなさい.
【ヒント】
目的の動作を実現する方法はいくつかありますが,例えば次の方法があります.
ここでは最終的に出力する文字列(char 配列)を str とし,毎回新たに読み込む文字列(char 配列)を word として説明します:
まず,str の初期値は "|" としておきます( strcpy(str, "|"); ).
後は(繰り返しの中で)新たな英単語を word として読み込むたびに次の①~③を行います.
①いったん strcat を使って word の後ろに(その時点の)str の内容を追加します.
②次に,strcpy を使って str の内容を "|" だけで上書きします.
③そして,strcat を使って str の後ろに word の内容を追加します.
- 【プログラムの実行例】(その1)※赤字は実行時にキーボードから入力する内容
単語を 1 つ入力してください:ehime 単語を 1 つ入力してください:university 単語を 1 つ入力してください:computer 単語を 1 つ入力してください:science 単語を 1 つ入力してください:end str = |science|computer|university|ehime|⏎
- 【プログラムの実行例】(その2)※赤字は実行時にキーボードから入力する内容
単語を 1 つ入力してください:ehime 単語を 1 つ入力してください:end str = |ehime|⏎
【過去にあったミス(減点となり,やり直しを命じられる)】
■ 2 種類の実行例を確認せずに提出してしまっている.
(例1)先頭や末尾に "|" が書かれていない.
(例2)実行例1の結果が練習 3 と同じになっている(逆順になっていない).
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 練習3 (p1103a.c) ]
ミスが無いことを確認したら次の問題へ → [ 練習5 (p1105a.c) ]