質問編集履歴

1

問題点の修正

2021/06/01 08:52

投稿

Savanof
Savanof

スコア33

test CHANGED
File without changes
test CHANGED
@@ -102,8 +102,6 @@
102
102
 
103
103
 
104
104
 
105
-
106
-
107
105
  // main
108
106
 
109
107
  int main(){
@@ -114,9 +112,9 @@
114
112
 
115
113
  char input2[MAX_INPUT];
116
114
 
117
- const char *p_input1 = input1;
115
+ const char *p_input1;
118
-
116
+
119
- const char *p_input2 = input2;
117
+ const char *p_input2;
120
118
 
121
119
 
122
120
 
@@ -130,21 +128,35 @@
130
128
 
131
129
 
132
130
 
133
- printf("Enter The First LongInt");
131
+ printf("Enter The First LongInt \n");
134
132
 
135
133
  fgets(input1 , MAX_INPUT , stdin);
136
134
 
137
-
135
+ if(p_input1 = strchr(input1, '\n')){
136
+
137
+
138
+
138
-
139
+ p_input1 = '\0';
140
+
141
+ }
142
+
143
+
144
+
145
+
146
+
147
+
148
+
139
- printf("Enter The Second LongInt");
149
+ printf("Enter The Second LongInt \n");
140
150
 
141
151
  fgets(input2 , MAX_INPUT , stdin);
142
152
 
143
-
153
+ if(p_input2 = strchr(input2, '\n')){
144
-
154
+
155
+
156
+
145
- printf("%s",input1);
157
+ p_input2 = '\0';
146
-
158
+
147
- printf("%s",input2);
159
+ }
148
160
 
149
161
 
150
162
 
@@ -160,19 +172,17 @@
160
172
 
161
173
  int N = (max(input1_siz, input2_siz));
162
174
 
163
- int int_ans_lis[N];
164
-
165
- char str_ans[N];
175
+ char ans_lis[N];
166
176
 
167
177
 
168
178
 
169
179
  revStr(input1);
170
180
 
171
- revStr(input2);
181
+ revStr(input2);
172
-
173
-
174
-
182
+
183
+
184
+
175
- for (int i = 1; i < N; i++){
185
+ for (int i = 0; i < N; i++){
176
186
 
177
187
 
178
188
 
@@ -188,7 +198,7 @@
188
198
 
189
199
  else{
190
200
 
191
- num1 = atoi(&p_input1[i]);
201
+ num1 = input1[i]- '0';
192
202
 
193
203
  }
194
204
 
@@ -202,13 +212,17 @@
202
212
 
203
213
  else{
204
214
 
205
- num2 = atoi((&p_input2[i]));
215
+ num2 = input2[i] - '0';
206
-
216
+
207
- }
217
+ }
208
-
209
-
210
-
218
+
219
+
220
+
211
- int_ans_lis[i] = (num1 + num2);
221
+ ans_lis[i] = (num1 + num2);
222
+
223
+ // printf("%d\n",ans_lis[i]);
224
+
225
+ // 最終的にはanslisも+'0'を行い文字列化する。
212
226
 
213
227
 
214
228
 
@@ -216,7 +230,7 @@
216
230
 
217
231
 
218
232
 
219
- for(int i = 0; i <input1_siz;++i){
233
+ for(int i = 0; i <input1_siz;++i){
220
234
 
221
235
  printf("input1's no %d is %c \n" ,i,input1[i]);
222
236
 
@@ -234,11 +248,11 @@
234
248
 
235
249
  for(int i = 0; i <N;++i){
236
250
 
237
- printf("anslis's no %d is %d \n" ,i,int_ans_lis[i]);
251
+ printf("anslis's no %d is %d \n" ,i,ans_lis[i]);
238
-
252
+
239
- }
253
+ }
254
+
240
-
255
+ }
241
-
242
256
 
243
257
  ```
244
258
 
@@ -248,27 +262,23 @@
248
262
 
249
263
  1.文字配列を一文字ずつprintfすると、先頭が空白?になる
250
264
 
251
- 2.入力が"123" , "456"の場合はint_ans_lisの構造を[9,7,5]というようにしたいが、できない
265
+ 2.入力が"123" , "456"の場合はint_ans_lisの構造を[9,7,5]というようにしたいが、できない - **解決しました。**
252
-
266
+
253
- 3.int_ans_lisの先頭にアクセスすると、意図しない数字(1998638272)が出現する。
267
+ 3.int_ans_lisの先頭にアクセスすると、意図しない数字(1998638272)が出現する。 **- 解決しました。**
254
268
 
255
269
  これらの問題に対処できません。
256
270
 
257
271
  ```
258
272
 
259
- Enter The First LongInt123
273
+ Enter The First LongInt
260
-
261
- Enter The Second LongInt456
262
-
263
-
264
274
 
265
275
  123
266
276
 
277
+ Enter The Second LongInt
278
+
267
279
  456
268
280
 
269
-
270
-
271
- input1's no 0 is
281
+ input1's no 0 is
272
282
 
273
283
 
274
284
 
@@ -278,8 +288,6 @@
278
288
 
279
289
  input1's no 3 is 1
280
290
 
281
-
282
-
283
291
  input2's no 0 is
284
292
 
285
293
 
@@ -290,16 +298,12 @@
290
298
 
291
299
  input2's no 3 is 4
292
300
 
293
-
294
-
295
- anslis's no 0 is 1998638272
301
+ anslis's no 0 is -76
296
-
302
+
297
- anslis's no 1 is 975
303
+ anslis's no 1 is 9
298
-
304
+
299
- anslis's no 2 is 75
305
+ anslis's no 2 is 7
300
306
 
301
307
  anslis's no 3 is 5
302
308
 
303
-
304
-
305
- ```
309
+ ```