質問編集履歴

2

訂正後のコードの追加

2020/02/27 01:12

投稿

aya0
aya0

スコア16

test CHANGED
File without changes
test CHANGED
@@ -86,6 +86,10 @@
86
86
 
87
87
  下記は解決後のコードです。
88
88
 
89
+
90
+
91
+ 改訂1
92
+
89
93
  ```
90
94
 
91
95
  #define _CRT_SECURE_NO_WARNINGS
@@ -171,3 +175,73 @@
171
175
  }
172
176
 
173
177
  ```
178
+
179
+
180
+
181
+ 改訂2(改訂1をシンプルにしました)
182
+
183
+ ```
184
+
185
+ #define _CRT_SECURE_NO_WARNINGS
186
+
187
+ #include <stdio.h>
188
+
189
+
190
+
191
+ void rev_string(char s[])
192
+
193
+ {
194
+
195
+ int i = 0;
196
+
197
+ int len = 0;
198
+
199
+ char temp;
200
+
201
+
202
+
203
+ len = strlen(s);
204
+
205
+
206
+
207
+ for (i = 0; i <(len / 2); i++) {
208
+
209
+ temp = s[i];
210
+
211
+ s[i] = s[len - 1 - i];
212
+
213
+ s[len - 1 - i] = temp;
214
+
215
+ }
216
+
217
+
218
+
219
+ }
220
+
221
+
222
+
223
+ int main(void)
224
+
225
+ {
226
+
227
+ char str[128];
228
+
229
+
230
+
231
+ printf("文字列を入力してください:\n");
232
+
233
+ scanf("%s", str);
234
+
235
+
236
+
237
+ rev_string(str);
238
+
239
+ printf("%s", str);
240
+
241
+
242
+
243
+ return 0;
244
+
245
+ }
246
+
247
+ ```

1

解決後のコードを追加しました。

2020/02/27 01:12

投稿

aya0
aya0

スコア16

test CHANGED
File without changes
test CHANGED
@@ -81,3 +81,93 @@
81
81
  なぜ、そのようになるのか理由が知りたいです。
82
82
 
83
83
  よろしくお願いします。
84
+
85
+
86
+
87
+ 下記は解決後のコードです。
88
+
89
+ ```
90
+
91
+ #define _CRT_SECURE_NO_WARNINGS
92
+
93
+ #include <stdio.h>
94
+
95
+
96
+
97
+ void rev_string(char s[])
98
+
99
+ {
100
+
101
+ char temp[128];
102
+
103
+ int i = 0;
104
+
105
+ int len = 0;
106
+
107
+
108
+
109
+ len = strlen(s);
110
+
111
+
112
+
113
+ for (i = 0; i <(len / 2); i++) {
114
+
115
+ temp[i] = s[i];
116
+
117
+ s[i] = s[len - 1 - i];
118
+
119
+ }
120
+
121
+
122
+
123
+ if ((len % 2) == 0) {
124
+
125
+ for (i = (len / 2); i < len; i++) {
126
+
127
+ s[i] = temp[len - 1 - i];
128
+
129
+ }
130
+
131
+ }
132
+
133
+ else {
134
+
135
+ for (i = (len / 2) + 1; i < len; i++) {
136
+
137
+ s[i] = temp[len - 1 - i];
138
+
139
+ }
140
+
141
+ }
142
+
143
+
144
+
145
+ }
146
+
147
+
148
+
149
+ int main(void)
150
+
151
+ {
152
+
153
+ char str[128];
154
+
155
+
156
+
157
+ printf("文字列を入力してください:\n");
158
+
159
+ scanf("%s", str);
160
+
161
+
162
+
163
+ rev_string(str);
164
+
165
+ printf("%s", str);
166
+
167
+
168
+
169
+ return 0;
170
+
171
+ }
172
+
173
+ ```