ID非公開
ID非公開さん
2020/11/26 16:28
1回答
C言語についてで質問です!キーボードから5単語を入力し、その後に番号を1〜5の中から入力すると、その番号の単語の文字を逆にして出力表示するプログラムのソースコードの添削をお願いしますm(_ _)m
C言語についてで質問です!キーボードから5単語を入力し、その後に番号を1〜5の中から入力すると、その番号の単語の文字を逆にして出力表示するプログラムのソースコードの添削をお願いしますm(_ _)m 1:you 2:tree 3:anima 4:pencil 5:cook 何番の単語を選択しますか?:3 amina #include <stdio.h> int main(void){ char str[4][32]; int i; int count for(i=0;i<4;i++){ printf("%d: ",i+1); scanf("%s",&str[i]); } printf("何番の単語を選択しますか?: "); scanf("%d",&i); for (i = 0; str[i] != '\0'; i++){ count++; } for (i=count - 1; i>= 0; i--){ printf("%c", str[i]); } return 0; }
ベストアンサー
#include <stdio.h> int main(void){ char str[4][32]; ←5単語だろ? int i; int count ←;が無い for(i=0;i<4;i++){ ←5単語だろ? printf("%d: ",i+1); scanf("%s",&str[i]); } printf("何番の単語を選択しますか?: "); scanf("%d",&i); ←変数iは次のfor文で初期化されてしまう for (i = 0; str[i] != '\0'; i++){ ←strは2次元配列です count++; ←初期化せずに使っているので0からカウントしない } for (i=count - 1; i>= 0; i--){ printf("%c", str[i]); ←strは2次元配列です } return 0; } 私の回答例は↓↓↓(出来れば見ずに考える) #include <stdio.h> int main(void){ char str[5][32]; int i,n; int count; for(i=0;i<5;i++){ printf("%d: ",i+1); scanf("%s",&str[i]); } printf("何番の単語を選択しますか?: "); scanf("%d",&n); n--; for (i = 0; str[n][i] != '\0'; i++); count=i; for (i=count - 1; i>= 0; i--){ printf("%c", str[n][i]); } return 0; } --------------------------------- 1: 1234 2: 4567 3: 89123 4: asdfg 5: zxcvb 何番の単語を選択しますか?: 3 32198
質問者からのお礼コメント
添削のコメントを読んでなんとか自力で出来ました! ありがとうございました!
お礼日時:2020/11/28 3:02