質問編集履歴
1
問題点の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -50,28 +50,34 @@
|
|
50
50
|
}
|
51
51
|
|
52
52
|
|
53
|
-
|
54
53
|
// main
|
55
54
|
int main(){
|
56
55
|
|
57
56
|
char input1[MAX_INPUT];
|
58
57
|
char input2[MAX_INPUT];
|
59
|
-
const char *p_input1
|
58
|
+
const char *p_input1;
|
60
|
-
const char *p_input2
|
59
|
+
const char *p_input2;
|
61
60
|
|
62
61
|
int input1_siz;
|
63
62
|
int input2_siz;
|
64
63
|
int ans_size;
|
65
64
|
|
66
65
|
|
67
|
-
printf("Enter The First LongInt");
|
66
|
+
printf("Enter The First LongInt \n");
|
68
67
|
fgets(input1 , MAX_INPUT , stdin);
|
68
|
+
if(p_input1 = strchr(input1, '\n')){
|
69
69
|
|
70
|
+
p_input1 = '\0';
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
|
70
|
-
printf("Enter The Second LongInt");
|
75
|
+
printf("Enter The Second LongInt \n");
|
71
76
|
fgets(input2 , MAX_INPUT , stdin);
|
77
|
+
if(p_input2 = strchr(input2, '\n')){
|
72
78
|
|
73
|
-
|
79
|
+
p_input2 = '\0';
|
74
|
-
|
80
|
+
}
|
75
81
|
|
76
82
|
// input1,input2の配列サイズを入手する
|
77
83
|
input1_siz = strlen(input1);
|
@@ -79,13 +85,12 @@
|
|
79
85
|
|
80
86
|
// 二つの配列の内大きい方を作成する。
|
81
87
|
int N = (max(input1_siz, input2_siz));
|
82
|
-
int int_ans_lis[N];
|
83
|
-
char
|
88
|
+
char ans_lis[N];
|
84
89
|
|
85
90
|
revStr(input1);
|
86
|
-
revStr(input2);
|
91
|
+
revStr(input2);
|
87
92
|
|
88
|
-
for (int i =
|
93
|
+
for (int i = 0; i < N; i++){
|
89
94
|
|
90
95
|
int num1 , num2;
|
91
96
|
// OutOfIndexしないようにする。
|
@@ -93,21 +98,23 @@
|
|
93
98
|
num1 = 0;
|
94
99
|
}
|
95
100
|
else{
|
96
|
-
num1 =
|
101
|
+
num1 = input1[i]- '0';
|
97
102
|
}
|
98
103
|
|
99
104
|
if(input2_siz < N){
|
100
105
|
num2 = 0;
|
101
106
|
}
|
102
107
|
else{
|
103
|
-
num2 =
|
108
|
+
num2 = input2[i] - '0';
|
104
109
|
}
|
105
110
|
|
106
|
-
|
111
|
+
ans_lis[i] = (num1 + num2);
|
112
|
+
// printf("%d\n",ans_lis[i]);
|
113
|
+
// 最終的にはanslisも+'0'を行い文字列化する。
|
107
114
|
|
108
115
|
}
|
109
116
|
|
110
|
-
|
117
|
+
for(int i = 0; i <input1_siz;++i){
|
111
118
|
printf("input1's no %d is %c \n" ,i,input1[i]);
|
112
119
|
}
|
113
120
|
|
@@ -116,38 +123,33 @@
|
|
116
123
|
}
|
117
124
|
|
118
125
|
for(int i = 0; i <N;++i){
|
119
|
-
printf("anslis's no %d is %d \n" ,i,
|
126
|
+
printf("anslis's no %d is %d \n" ,i,ans_lis[i]);
|
120
|
-
|
127
|
+
}
|
121
|
-
|
128
|
+
}
|
122
129
|
```
|
123
130
|
### 発生している問題・エラーメッセージ
|
124
131
|
発生している問題がいくつかあるのですが、
|
125
132
|
1.文字配列を一文字ずつprintfすると、先頭が空白?になる
|
126
|
-
2.入力が"123" , "456"の場合はint_ans_lisの構造を[9,7,5]というようにしたいが、できない
|
133
|
+
2.入力が"123" , "456"の場合はint_ans_lisの構造を[9,7,5]というようにしたいが、できない - **解決しました。**
|
127
|
-
3.int_ans_lisの先頭にアクセスすると、意図しない数字(1998638272)が出現する。
|
134
|
+
3.int_ans_lisの先頭にアクセスすると、意図しない数字(1998638272)が出現する。 **- 解決しました。**
|
128
135
|
これらの問題に対処できません。
|
129
136
|
```
|
130
|
-
Enter The First
|
137
|
+
Enter The First LongInt
|
131
|
-
Enter The Second LongInt456
|
132
|
-
|
133
138
|
123
|
139
|
+
Enter The Second LongInt
|
134
140
|
456
|
141
|
+
input1's no 0 is
|
135
142
|
|
136
|
-
input1's no 0 is
|
137
|
-
|
138
143
|
input1's no 1 is 3
|
139
144
|
input1's no 2 is 2
|
140
145
|
input1's no 3 is 1
|
141
|
-
|
142
146
|
input2's no 0 is
|
143
147
|
|
144
148
|
input2's no 1 is 6
|
145
149
|
input2's no 2 is 5
|
146
150
|
input2's no 3 is 4
|
147
|
-
|
148
|
-
anslis's no 0 is
|
151
|
+
anslis's no 0 is -76
|
149
|
-
anslis's no 1 is
|
152
|
+
anslis's no 1 is 9
|
150
|
-
anslis's no 2 is
|
153
|
+
anslis's no 2 is 7
|
151
154
|
anslis's no 3 is 5
|
152
|
-
|
153
155
|
```
|