回答編集履歴
2
修正
test
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
一々終端チェックするよりも範囲外かのほうが簡単ですけど。
|
2
1
|
```c
|
3
2
|
#include <stdio.h>
|
4
3
|
int main(void){
|
@@ -10,6 +9,8 @@
|
|
10
9
|
}
|
11
10
|
}
|
12
11
|
```
|
12
|
+
---
|
13
|
+
一々終端チェックするよりも範囲外かのほうが簡単ですけど。
|
13
14
|
```c
|
14
15
|
#include <stdio.h>
|
15
16
|
int main(void){
|
1
修正
test
CHANGED
@@ -4,9 +4,20 @@
|
|
4
4
|
int main(void){
|
5
5
|
char b[50+1];
|
6
6
|
scanf("%s", b);
|
7
|
-
for(char *pt=b; *pt
|
7
|
+
for(char *pt=b; *pt; pt++) {
|
8
8
|
printf("%c;\n", *pt);
|
9
|
-
if('1'<=*pt && *pt<='9') for(int n=*pt-'1'; n
|
9
|
+
if('1'<=*pt && *pt<='9') for(int n=*pt-'1'; n && pt[1]; n--, pt++);
|
10
10
|
}
|
11
11
|
}
|
12
12
|
```
|
13
|
+
```c
|
14
|
+
#include <stdio.h>
|
15
|
+
int main(void){
|
16
|
+
char b[50+1];
|
17
|
+
scanf("%s", b);
|
18
|
+
for(char *pt=b, *end=&b[strlen(b)]; pt<end; pt++) {
|
19
|
+
printf("%c;\n", *pt);
|
20
|
+
if('1'<=*pt && *pt<='9') pt += *pt-'1';
|
21
|
+
}
|
22
|
+
}
|
23
|
+
```
|