【OCN】1GBプレゼントCP中!

C言語に詳しい方に質問です。

この文字列を逆さに表示するというものですが、何を使えって逆さを表現したらいいのかが全く分かりません。

どなたか回答よろしくお願いします。

「C言語の問題について」の質問画像
gooドクター

A 回答 (8件)

うん、まぁ、逆さってreverseをそのまま直訳したんだろうな、ってのは想像付くんだけど。



でも、他の人も言ってるけど、「(参考)今日のスライドの最後の方」とか言ってるならそれも示すべきだろうなぁ。曖昧だから。

ちなみに、「表示するプログラム」って言ってる以上、文字列そのもの弄る、ってこたぁねぇんだろな。単に逆順に出力しろ、って言ってるだけでしょ。
恐らく。

/* ここから */

#include <stdio.h>
#include <string.h>

int main(void) {
 char* str = "evian = god";
 for (int i = strlen(str); i > -1; i--) {
  printf("%c", str[i]);
 }
 printf("\n");
 return 0;
}
    • good
    • 0

たとえば


#include <stdio.h>
int main()
{
puts("dog = naive");
}
でいいのかな?
    • good
    • 0

逆さの定義が解らないと


"evian = bad" も逆さと言える。

そもそもC言語にI/Oは存在しないのだから処理系をしていなければ問題として成立しない。
    • good
    • 0

・・・冗談はさておき本題・・・



「今日のスライドの最後」のやり方に沿ってプログラムを作りましょう。
それが、
 ・1文字ずつ順番を入れ替える。
 ・辞書を作って反対語を検索する。
 ・イコールの左右の文字を入れ替える。
どの ”逆さ” なのかを確認してください。
この3つ(先に上げた ”冗談” も含めると4つ)は、どれも ”逆さ” にする方法です。
    • good
    • 1

難しい問題だね。



グラフィックメモリに直接アクセスるする必要がある。
ハードウェアの仕様書を取り寄せなきゃダメかな。
「C言語の問題について」の回答画像4
    • good
    • 0

NO2です。


失礼しました...
for ( ; i > -1; i-- )
    ↓
for ( ; i > 0; i-- )
でした。
    • good
    • 0

#include <stdio.h>



int main ( void )
{
char Original [] = "evian = god";
int i = sizeof ( Original );

printf ( "Original :\"%s\"\n", Original );
printf ( "Reverse :\"" );
for ( ; i > -1; i-- )
printf ( "%c", Original [ i - 1 ] );
printf ( "\"\n" );

return ( 0 );
}
    • good
    • 0

配列に一文字づつ入れて、逆ループさせながら標準出力に一文字づつ出力すればいいのでは。

    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

人気Q&Aランキング