ページ 11

C言語宿題

Posted: 2009年6月11日(木) 15:48
by ニギハヤミコハクヌシ
1~256文字の文字列Sを入力し,それから単語Wを1つ入力する.文字列Sが単語Wを含むとき,その単語の前にあるスペースに*を挿入するプログラムを作成しなさい.但し,検索する単語Wが文字列Sの先頭にあるときは,S全体を1文字ずつずらし先頭に*を付ける.

課題実行においては以下の点に注意すること.

* プログラム名は「search」とすること.
* 入力する文字列に2つ以上の連続したスペースはないとする.
* 入力する文字列の最初と最後はスペースでないとする.

[b1009xxx@C*LPC* ~/pp8]% ./search
 I found a red apple and green apples yesterday.
 apple
 I found a red*apple and green apples yesterday.
[b1009xxx@C*LPC* ~/pp8]% ./search
 pa pa pa pa pa Papagena!
 pa
 *pa*pa*pa*pa*pa Papagena!

みたいな感じで表示されるように作らなきゃいけないみたいなんですけど、
何度やっても答えにたどり着きません。どなたか回答をお願いします。

Re:C言語宿題

Posted: 2009年6月11日(木) 16:01
by non
>何度やっても答えにたどり着きません。

丸投げ禁止。
できているところまで、転載するのがルールです。

質問
>単語の前にあるスペースに*を挿入する
と書いてありますが、1文字目以外は挿入ではなく、置換されています。
置換でいいですね。

単語の定義はどうなっていますか?
スペースで区切られている以外になにがありますか。
例えば、ピリオドとかカンマとかアポストロフィとかはどう処理しますか。
また、大文字と小文字は区別しますか。

Re:C言語宿題

Posted: 2009年6月11日(木) 21:46
by Dixq (管理人)
投稿の仕方がわからない時は、規約のテンプレートをご利用下さい。