再び課題の質問
Posted: 2007年11月14日(水) 20:57
課題で文字列というものに大変苦戦しております。それで早速質問なんですがこちらがアルファベットで名前を入力した時に逆さまに表示させる方法がわからないのです。自分の書いたプログラムは
#include <stdio.h>
int main(void)
{
int moji;
int i;
char name[100];
printf("Your name: ");
gets(name);
moji = 0;
while (name[moji] != '\0') {
printf("%2d moji me : '%c'\n", moji, name[moji]);
moji++;
}
printf("%s wa zenbu de %d moji\n", name, moji);
printf("Your name : %s\n",name);
i = name[moji];
for (i = moji - 1; i >=0; i--){
printf("Reversed: %c ",i);
}
return 0;
}
で、実行結果は
Your name: araya
0 moji me : 'a'
1 moji me : 'r'
2 moji me : 'a'
3 moji me : 'y'
4 moji me : 'a'
araya wa zenbu de 5 moji
Your name : araya
Reversed: Reversed: Reversed: Reversed: Reversed:
意図する結果は
Your name: araya
0 moji me : 'a'
1 moji me : 'r'
2 moji me : 'a'
3 moji me : 'y'
4 moji me : 'a'
araya wa zenbu de 5 moji
Your name : araya
Reversed: ayara
です。最後のReversedの部分でfor文の構成はあっていると思われますが%c,%sの使い方さらに
printfで表示させたい変数が何か分からなくなってしまいました。
助けをください。
#include <stdio.h>
int main(void)
{
int moji;
int i;
char name[100];
printf("Your name: ");
gets(name);
moji = 0;
while (name[moji] != '\0') {
printf("%2d moji me : '%c'\n", moji, name[moji]);
moji++;
}
printf("%s wa zenbu de %d moji\n", name, moji);
printf("Your name : %s\n",name);
i = name[moji];
for (i = moji - 1; i >=0; i--){
printf("Reversed: %c ",i);
}
return 0;
}
で、実行結果は
Your name: araya
0 moji me : 'a'
1 moji me : 'r'
2 moji me : 'a'
3 moji me : 'y'
4 moji me : 'a'
araya wa zenbu de 5 moji
Your name : araya
Reversed: Reversed: Reversed: Reversed: Reversed:
意図する結果は
Your name: araya
0 moji me : 'a'
1 moji me : 'r'
2 moji me : 'a'
3 moji me : 'y'
4 moji me : 'a'
araya wa zenbu de 5 moji
Your name : araya
Reversed: ayara
です。最後のReversedの部分でfor文の構成はあっていると思われますが%c,%sの使い方さらに
printfで表示させたい変数が何か分からなくなってしまいました。
助けをください。