回答編集履歴
9
文言変更
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
理解できるかな?
|
2
2
|
|
3
|
-
入力が空だったとき、wordの先頭より前の2文字を調べてしまうので、前に2
|
3
|
+
入力が空だったとき、wordの先頭より前の2文字を調べてしまうので、前に2文字分の余白が必要です。
|
4
4
|
|
5
5
|
|
6
6
|
|
8
不要行削除
test
CHANGED
@@ -32,8 +32,6 @@
|
|
32
32
|
|
33
33
|
char *tail = word + strlen(word) - 1;
|
34
34
|
|
35
|
-
char *tail2 = tail - 1;
|
36
|
-
|
37
35
|
if (strchr("sox", *tail) != NULL
|
38
36
|
|
39
37
|
|| strcmp(tail - 1, "sh") == 0
|
7
長いifを改行
test
CHANGED
@@ -32,7 +32,13 @@
|
|
32
32
|
|
33
33
|
char *tail = word + strlen(word) - 1;
|
34
34
|
|
35
|
+
char *tail2 = tail - 1;
|
36
|
+
|
37
|
+
if (strchr("sox", *tail) != NULL
|
38
|
+
|
39
|
+
|| strcmp(tail - 1, "sh") == 0
|
40
|
+
|
35
|
-
|
41
|
+
|| strcmp(tail - 1, "ch") == 0) {
|
36
42
|
|
37
43
|
strcpy(tail + 1, "es");
|
38
44
|
|
6
説明追記
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
理解できるかな?
|
2
|
+
|
3
|
+
入力が空だったとき、wordの先頭より前の2文字を調べてしまうので、前に2バイトの余白が必要です。
|
2
4
|
|
3
5
|
|
4
6
|
|
5
const word にする
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
char buf[100] = " ";
|
16
16
|
|
17
|
-
char *word = buf + 2;
|
17
|
+
char * const word = buf + 2;
|
18
18
|
|
19
19
|
int n;
|
20
20
|
|
4
コード変更
test
CHANGED
@@ -12,15 +12,17 @@
|
|
12
12
|
|
13
13
|
int main(int argc, const char * argv[]) {
|
14
14
|
|
15
|
+
char buf[100] = " ";
|
16
|
+
|
17
|
+
char *word = buf + 2;
|
18
|
+
|
15
19
|
int n;
|
16
20
|
|
17
21
|
scanf("%d", &n);
|
18
22
|
|
19
|
-
for (int i =
|
23
|
+
for (int i = 0; i < n; i++){
|
20
24
|
|
21
|
-
char word[100] = " ";
|
22
|
-
|
23
|
-
if (scanf("%90s", word
|
25
|
+
if (scanf("%90s", word) != 1) {
|
24
26
|
|
25
27
|
break;
|
26
28
|
|
@@ -50,7 +52,7 @@
|
|
50
52
|
|
51
53
|
}
|
52
54
|
|
53
|
-
printf("%s\n", word
|
55
|
+
printf("%s\n", word);
|
54
56
|
|
55
57
|
}
|
56
58
|
|
3
代入簡略化
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
for (int i = 1; i <= n; i++){
|
20
20
|
|
21
|
-
char word[100] =
|
21
|
+
char word[100] = " ";
|
22
22
|
|
23
23
|
if (scanf("%90s", word + 2) != 1) {
|
24
24
|
|
2
bug fix
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
char word[100] = { " " };
|
22
22
|
|
23
|
-
if (scanf("%9
|
23
|
+
if (scanf("%90s", word + 2) != 1) {
|
24
24
|
|
25
25
|
break;
|
26
26
|
|
1
bug fix
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
char word[100] = { " " };
|
22
22
|
|
23
|
-
if (scanf("%9
|
23
|
+
if (scanf("%97s", word + 2) != 1) {
|
24
24
|
|
25
25
|
break;
|
26
26
|
|