[Atelier Blue アトリエブルー]Homeコンテストパソコン甲子園2003年本選>9問目

9問目(文字列、逆順出力)

問題

文字列aを入力、その逆順を出力するプログラム。文字は半角英数字のみで20文字以内。

入力

a(文字列)

出力

aの逆順(文字列)

入力例

zbth5weh1ali3wfhyf

出力例

fyhfw3ila1hew5htbz

解き方例

とにかく逆順にするだけです。とりあえず配列に入れて後ろから出力が基本だと思います。

ソースコード

お持ち帰り

C/C++

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

int main(){
    char str[22];
    int i;

    scanf("%s",str);

    i = strlen(str);

    //'\0'をとばす
    for(i--;i>=0;i--){
        putchar(str[i]);
    }


    return 0;
}

その他

C言語でバッファが22文字分なのは癖です(反射的にMAX+2にしてしまう)。まあ、普通は21文字で足ります。文字列+'\0'です。とりあえず気にしないで下さい。私の習慣ですから。

ちなみに「20文字+改行文字+'\0'」で22文字です。scanfでの%sは、「改行」や「空白記号」を読みとりません。勘違いをさせてしまった方。申し訳ありませんでした。


ページの一番上へ
前のページへ 一覧に戻る 次のページへ
初版2006-5-5 最終更新2006-5-21
[Atelier Blue アトリエブルー]Homeコンテストパソコン甲子園2003年本選>9問目