- 締切済み
文字列の問題なのですが
大学の問題なのですが、 「 : 」をいくつか含む文字列(半角のみ、漢字は含めない)で初期化した文字配列がある。 その文字列を「 : 」で分割し、分割した文字列を 1 行に 1 つずつ出力するプログラムを作成しなさい。 【出力例】 Hello Good-Bye Thank you プログラムソース(編集可) #include <stdio.h> int main(void) { char str[30] = "Hello:Good-Bye:Thank you"; //ここからプログラムを記述してください } 自分でやらないと力が付かないのは承知なのですが、明後日試験の為、間に合わないので、教えてください。お願いします
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- kakuritsu
- ベストアンサー率23% (62/261)
>明後日試験の為、間に合わないので どんな学校か知りませんけど この学科の単位落としちゃってもいいんじゃないですか? どうせ、必須科目じゃないんでしょ? もし必須科目だとしたら、そもそもその学校あなたには向いてないんじゃないですか?プログラムが作れる人は別に誰に聞かなくても作れるぐらいの感性は最初からありますよ。
- asuncion
- ベストアンサー率33% (2127/6289)
>明後日試験の為、間に合わない ということでしたら、お友達に頭を下げて教えてもらってください。 教えてもらったら、食事でもごちそうしてあげてください。
- nda23
- ベストアンサー率54% (777/1415)
理論の組み立てはできていますか? ちょっと見ただけの直感的な理論の例 (1)開始点=文字列 (2)開始点の文字が'\0'になるまで下記(3)~(6)を繰り返す (3)開始点から":"を検索 (4)":"が検索できたらその文字を'\0'に置換 (5)開始点からの文字列+復帰改行を標準出力に出力 (6)(4)で検索できた場合は開始点=検索点+1 できなかった場合はループを抜ける あとは理論通りになるようにプログラムします。 検索、出力はCライブラリの関数を使います。strchr、printfを ググると出てきますので、それを参照すればOKですね。
- D-Matsu
- ベストアンサー率45% (1080/2394)
二日もあればアルゴリズム方針書いておけばプログラムくらいかけるでしょう。ちゃんとこれまで勉強してたのなら。 一応方向は二つ出しておくので好きな方でどうぞ。 ・何処に何書いてもOKならstring.hをincludeしてstrtok()を使うのが楽。 ・コメント以降だけならforループで文字列の先頭から一文字ずつ回して:以外はそのまま出力、:と終端で改行を出力するのが単純。 なお、非常に単純な問題のはずなのでこれ以上を書くつもりはありません。
- Tacosan
- ベストアンサー率23% (3656/15482)
で, あなたはどこまで分かって, どこが分からないのですか?