練習 5(提出プログラム名:p1205.c)※必須ではない
この練習問題は必須ではない(提出しなくてもよい)が適切に解けていれば加点の対象とする.
練習 4 で作成したプログラム(p1204.c)を p1205.c という別名のファイルにコピーしなさい.
そして,p1205.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の結果が練習 4 と同じになっている(逆順になっていない).
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
第 12 回(Cプログラミング;3 限目の方)の練習問題は以上の5問です.
p1201.c ~ p1205.c を Moodle から提出してください.※ただし,p1205.c は必須ではないです.
くれぐれも各問題で記載されている注意事項や「過去にあったミス」を見落とさないようにしてください.
なお,コンパイルエラーや無限ループになるプログラムを 1 個でも提出した場合は総合評価を 0 点とするので十分に注意すること.
なお,提出後に間違いに気付いた場合,〆切前であれば差し替え(上書き)は可能です.