みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

投稿日時 - 2014-06-06 07:30:57

QNo.8625735

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

10人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

Wr5

大阪北辺りにお住まいの、将来有望な大学生なんですし。
# なんで情報工学のカテなのかは不明ですが。経営学とか人材マネジメントじゃないんですかね?
# 技術者として有望と入っていない。

ということで、私もひとつ。

int count(char *str)
{
 char *end;
 for(end = str; *(end); end++);
 return (int)(end - str);
}

………「文字数」返さない場合もあるかな。
shift-jisやutf-8とか…。
まぁ文字コード指定されていないしなぁ……。

投稿日時 - 2014-06-07 22:51:06

ANo.5

「出ましたね」ってほどでもなく, 以前からこんなもんですけどね>#1.

ちなみに「文字」の解釈によっては非常に難しい問題になりえる.

参考URL:http://okwave.jp/qa/q8601264.html

投稿日時 - 2014-06-06 23:37:15

ANo.4

いつもなら無視するけど、今日は特別に一つだけ教えてあげましょう

#include <string.h>
Int count(char *str){
return (int)strlen(str);
}

投稿日時 - 2014-06-06 11:06:02

ANo.3

ソフト制作会社にでも発注してください。
10万円も出せば受けるんじゃないかな。

発注と質問の区別が付かないのなら幼稚園からやり直しだね。

投稿日時 - 2014-06-06 10:33:04

前の方も仰っている通り、丸投げ過ぎます。
どこが分からないんですか?

そもそも、ヒントというか、道筋は全て出来ていて
少し考える「努力」をすれば分かるはずですが。

投稿日時 - 2014-06-06 10:27:25

ANo.1

出ましたね。
丸投げ感MAX。

質問の理由も、努力した経過もなにも書いていないと助けようと思う人は少なくなります。

困っているんじゃなくて、楽しようとしているだけに見えますから。

その楽しようとしているだけの人に手を貸すのは、奴隷かなにかなのかなと思ってしまいます。

自力で調べたり考えたりしてできない人、この手の学問は出来るようになりませんので、将来は使えませんけどそれでも大丈夫ですか?

投稿日時 - 2014-06-06 09:52:15

あなたにオススメの質問