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

解決済みの質問

プログラミング(関数reverseを作る)

プログラミングの勉強会で文字列を反転させる関数(例:ABCDE→EDCBA)を作れという課題が出たのですが、以下のように書いたきり進みません。あと、何を書けばいいのでしょうか?教えてください。
#include <stdio.h>

void reverse(char *);
void reverse2(char *);

void main(){
char buf[10];

printf("str :");
fgets(buf, 10, stdin);

reverse(buf);
printf("rev :%s", buf);
return;
}

//文字列を反転させる関数
void reverse(char *s){
return;
}

投稿日時 - 2008-09-05 01:35:56

QNo.4304682

すぐに回答ほしいです

質問者が選んだベストアンサー

void reverse(char *s){
sの長さnを求める
sの中身を作業用の配列tmpにコピーする
tmp[n-1]からtmp[0]をs[0]からs[n-1]に入れる
}

投稿日時 - 2008-09-05 06:18:15

お礼

回答ありがとうございました。

投稿日時 - 2008-09-07 00:55:13

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

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

回答(2)

ANo.1

void reverse(char *s){
sの長さNを求める
i = 0; j = n-1;
/* ここから */
s[i] と s[j] を交換する
i++; j--;
/* ここまでを i < j である間繰り返す */
}

投稿日時 - 2008-09-05 02:05:04

お礼

回答ありがとうございました。

投稿日時 - 2008-09-07 00:55:36

あなたにオススメの質問