回答編集履歴

1

補足を追加

2020/08/18 15:53

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -1,3 +1,77 @@
1
1
  ひとつの`i`につき、一度"Wan"や"Nyan"を表示したらチェックを終了してしまえばいい。
2
2
 
3
3
  具体的には、`printf("Wan");`や`printf("Nyan");`の直後に`break;`を入れてください。
4
+
5
+
6
+
7
+ 追加分: 途中で質問が「12のときはWan Nyanと表示」に変更されたため
8
+
9
+ 必ず"Wan"が先に表示されるならこうかな。
10
+
11
+ 「21のときにどう表示するか」が示されていないので推測するしかない。
12
+
13
+
14
+
15
+ ```C
16
+
17
+ #include <stdio.h>
18
+
19
+
20
+
21
+ int main(void)
22
+
23
+ {
24
+
25
+ int n = 100;
26
+
27
+ for (int i = 1; i <= n; i++) {
28
+
29
+ printf("%d ... ", i);
30
+
31
+
32
+
33
+ int wan = 0;
34
+
35
+ for (int mod = i; mod > 0; mod /= 10) {
36
+
37
+ if (mod % 10 == 1) {
38
+
39
+ printf("Wan");
40
+
41
+ wan = 1;
42
+
43
+ break;
44
+
45
+ }
46
+
47
+ }
48
+
49
+ for (int mod = i; mod > 0; mod /= 10) {
50
+
51
+ if (mod % 10 == 2) {
52
+
53
+ if (wan) {
54
+
55
+ putchar(' ');
56
+
57
+ }
58
+
59
+ printf("Nyan");
60
+
61
+ break;
62
+
63
+ }
64
+
65
+ }
66
+
67
+ putchar('\n');
68
+
69
+ }
70
+
71
+
72
+
73
+ return 0;
74
+
75
+ }
76
+
77
+ ```