回答編集履歴
4
変更
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
```c
|
3
3
|
#include <stdio.h>
|
4
4
|
|
5
|
-
|
5
|
+
char *del_digit(char s[]) {
|
6
6
|
int i,j;
|
7
7
|
for (i=j=0; s[i]; i++) {
|
8
8
|
if (s[i] - '0' >= 10) {
|
@@ -11,18 +11,16 @@
|
|
11
11
|
}
|
12
12
|
}
|
13
13
|
s[j]=s[i];
|
14
|
+
return s;
|
14
15
|
}
|
15
16
|
|
16
17
|
int main (void) {
|
17
18
|
char w[50];
|
18
|
-
int j;
|
19
19
|
|
20
20
|
printf("文字列を入力してください\n");
|
21
21
|
scanf("%s", w);
|
22
22
|
|
23
|
-
del_digit(w);
|
24
|
-
|
25
|
-
printf("%s\n", w);
|
23
|
+
printf("%s\n", del_digit(w));
|
26
24
|
return 0;
|
27
25
|
}
|
28
26
|
```
|
3
変更
answer
CHANGED
@@ -3,15 +3,12 @@
|
|
3
3
|
#include <stdio.h>
|
4
4
|
|
5
5
|
void del_digit(char s[]) {
|
6
|
-
int i
|
6
|
+
int i,j;
|
7
|
-
int j = 0;
|
8
|
-
|
9
|
-
|
7
|
+
for (i=j=0; s[i]; i++) {
|
10
8
|
if (s[i] - '0' >= 10) {
|
11
9
|
s[j]=s[i];
|
12
10
|
j++;
|
13
11
|
}
|
14
|
-
i++;
|
15
12
|
}
|
16
13
|
s[j]=s[i];
|
17
14
|
}
|
2
修正
answer
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
数字を削除するのであれば
|
1
|
+
数字を削除するのであれば、(ご指摘を受け、jの初期化を入れました、ありがとうございます)
|
2
|
-
|
3
2
|
```c
|
4
3
|
#include <stdio.h>
|
5
4
|
|
6
5
|
void del_digit(char s[]) {
|
7
|
-
int
|
6
|
+
int i = 0;
|
7
|
+
int j = 0;
|
8
8
|
|
9
9
|
while (s[i]) {
|
10
10
|
if (s[i] - '0' >= 10) {
|
1
変更
answer
CHANGED
@@ -5,7 +5,6 @@
|
|
5
5
|
|
6
6
|
void del_digit(char s[]) {
|
7
7
|
int j, i = 0;
|
8
|
-
int flag = 0;
|
9
8
|
|
10
9
|
while (s[i]) {
|
11
10
|
if (s[i] - '0' >= 10) {
|