• 締切済み

問題

キーボードから入力された1行の文字列を 逆順に(abcdeをedcbaに) 大文字を小文字、小文字を大文字に 変換するプログラムを作りなさい。 プログラム中で、文字列の長さを調べる必要が出てくるが、 文字列の長さを求める箇所は関数で表すこと。この問題の簡単な 解答を教えてください。

みんなの回答

noname#57148
noname#57148
回答No.2

全体の流れだけ教えます。 1.文字列格納領域をmemset関数で'\0'で初期化 2.画面から文字列読み込み 3.strlen関数で文字列長を調べる。 4.ループで一文字ずつ前後逆転と同時に、大小反転 大小反転はアスキーコード表を見れば何をすればよいか解ります。大文字・小文字で指定されている数値の間隔が一定なのでそこを利用してください。大文字の場合はどれだけ足す、小文字の場合はどれだけ引くという処理をするだけです。toupper関数、tolower関数を使っても簡単に大小反転は出来ますが、趣旨がアスキーコードと思うのでそれをお勧めします。

bucharest
質問者

お礼

ありがとうございました。何とか自分でがんばってみようと思います。

noname#77845
noname#77845
回答No.1

まずは、自分でどこまでできたかを示しましょう。 そうしないと、この質問は「宿題丸投げ」と見なされて削除されてしまいます。