必修課題 課題9-1, 9-2で指示されるプログラムを作成し, そのプログラムと実行結果を提出する.
レポートは,以下で説明する「プログラムリスト」の後に, 実行結果を印刷したものを重ねてホッチキスで綴じ,提出する.
文字列s1,s2をキーボードから受取り,文字列s1から文字列s2に含まれる文字を 取り除いたものを文字列s3に格納し,その内容を表示するプログラムを作成せよ.
ただし,
例えば,文字列s1,s2,s3を引数として渡せば,s3の中身を下記のように書き換える.
s1: "This is a pen." s2: "sp." ↓ s3: "Thi i a en" 戻り値: 4
文字列s1,s2および自然数nをキーボードから受取り,文字列s1の位置nに文字列s2の内容を挿入したものを文字列s3 に格納し,その内容を表示するプログラムを作成せよ.なお,文字の位置は先頭を0とする.
ただし,
例えば,文字列s1,s2,s3を引数として渡せば,s3の中身を下記のように書き換える.
s1: "This is a pen." n: 13 s2: "cil" ↓ s3: "This is a pencil." 戻り値: 17
以下は,力試し問題です.必ず各課題に対応した関数を使ったプログラムを
作成してください.
ただし,
なお,解答に対して十分に大きな要素数の配列を用意して,関数に渡して下さい. (解答を入れる配列の要素数も引数として渡し, 要素数を越えて解答しなければならない場合には処理を中止して -1を戻値として返すような関数とすれば安全な関数となる.)
文字列sに含まれる文字'A'~'Z'と'a'~'z'を以下のような規 則で置き換える(Rot13と呼ばれる素朴な暗号化である).
'A' → 'N' 'a' → 'n' 'B' → 'O' 'b' → 'o' : : : : 'M' → 'Z' 'm' → 'z' 'N' → 'A' 'n' → 'a' 'O' → 'B' 'o' → 'b' : : : : 'Z' → 'M' 'z' → 'm' 関数の戻り値は,文字列sの全文字数とする. s: "This is a PEN. ABC123def,ghI" ↓ s: "Guvf vf n CRA. NOP123qrs,tuV" 戻り値: 28 ヒント: 'A'を'N'に変換するには数値として13を足せば, 'N'を'A'にするには13を引けばよい.
文字列s1の内容のうち,単語だけを文字列s2に格納する.その際, 単語ごとの終りに'|'を付加する.関数の戻り値は,全ての単語数とする.こ こで,単語とは,'A'~'Z'と'a'~'z'だけで構成される1つ以上の文字の連な りと定義する.
s1: "This is a PEN. ABC123def,ghI" ↓ s2: "This|is|a|PEN|ABC|def|ghI|" 戻り値: 7