- 締切済み
C言語
以下のC言語のプログラムを教えてください。 お願いします。 (1)標準入力から文字列(2 文字以上)を入力し,文字数を計上すると共に,入力された文字列の逆順に入れ替える処理を実現してください.なお,以下の要件を満たしたプログラムを作成してください. ・ 入力された文字列は,char 型の配列(要素数50)で受け取ること ・ 文字数を計上するcount 関数(引数:配列のアドレス,戻り値:文字数)を定義 し,main 関数より呼び出すこと ・ 文字列を逆順に入れ替えるreverse 関数(引数:配列のアドレス,戻り値:無し) を定義し,main 関数より呼び出すこと ・ 標準出力の処理は,main 関数で記述すること 【プロトタイプ宣言】 int count(char *str); void reverse(char *str); 【実行結果】 文字列を入力してください(2 文字以上) apple 文字数 = 5 入れ換え前 apple 入れ換え後 elppa (2)char 型の配列(要素数50)を2 つ宣言し,標準入力から2 つの文字列を入力してください.そして,格納した字列を入れ替える関数(swapstr 関数)を作成し,入れ替え前と入れ替え後の配列内の値(文字列)を配列名とともに標準出力するプログラムを作成してください. 【プロトタイプ宣言】 void swapstr(char *str1, char *str2); 【実行結果】 2 つの文字列を入力してください apple strawberry 入れ換え前 配列str1 = apple 配列str2 = strawberry 入れ換え後 配列str1 = strawberry 配列str2 = apple
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- Wr5
- ベストアンサー率53% (2173/4061)
大阪北辺りにお住まいの、将来有望な大学生なんですし。 # なんで情報工学のカテなのかは不明ですが。経営学とか人材マネジメントじゃないんですかね? # 技術者として有望と入っていない。 ということで、私もひとつ。 int count(char *str) { char *end; for(end = str; *(end); end++); return (int)(end - str); } ………「文字数」返さない場合もあるかな。 shift-jisやutf-8とか…。 まぁ文字コード指定されていないしなぁ……。
- Tacosan
- ベストアンサー率23% (3656/15482)
「出ましたね」ってほどでもなく, 以前からこんなもんですけどね>#1. ちなみに「文字」の解釈によっては非常に難しい問題になりえる.
- kmee
- ベストアンサー率55% (1857/3366)
いつもなら無視するけど、今日は特別に一つだけ教えてあげましょう #include <string.h> Int count(char *str){ return (int)strlen(str); }
- TooManyBugs
- ベストアンサー率27% (1472/5321)
ソフト制作会社にでも発注してください。 10万円も出せば受けるんじゃないかな。 発注と質問の区別が付かないのなら幼稚園からやり直しだね。
- Sayakonomimoto
- ベストアンサー率19% (23/119)
前の方も仰っている通り、丸投げ過ぎます。 どこが分からないんですか? そもそも、ヒントというか、道筋は全て出来ていて 少し考える「努力」をすれば分かるはずですが。
- kamikami30
- ベストアンサー率24% (812/3335)
出ましたね。 丸投げ感MAX。 質問の理由も、努力した経過もなにも書いていないと助けようと思う人は少なくなります。 困っているんじゃなくて、楽しようとしているだけに見えますから。 その楽しようとしているだけの人に手を貸すのは、奴隷かなにかなのかなと思ってしまいます。 自力で調べたり考えたりしてできない人、この手の学問は出来るようになりませんので、将来は使えませんけどそれでも大丈夫ですか?