必修課題 課題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