回答編集履歴

3

ソース修正

2020/05/23 20:38

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -5,8 +5,6 @@
5
5
  あと、ファールとか何も考えてないです^^;
6
6
 
7
7
  ```c
8
-
9
-
10
8
 
11
9
  #include <stdio.h>
12
10
 
@@ -42,17 +40,27 @@
42
40
 
43
41
  //
44
42
 
45
- for(int no = 0; no < 4; no++) {
43
+ for(int i = 0; i < 4; i++) {
44
+
45
+ int no = i + 1;
46
+
47
+ //
46
48
 
47
49
  printf("  実況「ピッチャー第%d球、投げました!」\n\n\n\n", no);
48
50
 
49
- printf(" (%d球目が来た。1:ストレート 2:カーブ 3:見送る)\n\n", no + 1);
51
+ printf(" (%d球目が来た。1:ストレート 2:カーブ 3:見送る)\n\n", no);
50
52
 
51
53
  printf("  → ");
52
54
 
53
55
  //
54
56
 
55
- scanf("%d", &throw);
57
+ if(scanf("%d", &throw) != 1) {
58
+
59
+ puts("数字以外が入力されました。");
60
+
61
+ break;
62
+
63
+ }
56
64
 
57
65
  //
58
66
 
@@ -64,7 +72,7 @@
64
72
 
65
73
  printf(" 主審「ストライ~ク!!」\n\n\n\n");
66
74
 
67
- printf(" 実況「%d球目も空振り~」\n", no + 1);
75
+ printf(" 実況「%d球目も空振り~」\n", no);
68
76
 
69
77
  break;
70
78
 
@@ -76,7 +84,7 @@
76
84
 
77
85
  printf(" 主審「ストライ~ク!!」\n\n\n\n");
78
86
 
79
- printf(" 実況「%d球目も空振り~」\n", no + 1);
87
+ printf(" 実況「%d球目も空振り~」\n", no);
80
88
 
81
89
  break;
82
90
 
@@ -88,7 +96,7 @@
88
96
 
89
97
  printf(" 主審「ボール!!」\n\n\n\n");
90
98
 
91
- printf(" 実況「%d球目は少し外れてボール!!」\n", no + 1);
99
+ printf(" 実況「%d球目は少し外れてボール!!」\n", no);
92
100
 
93
101
  }
94
102
 

2

ソース修正

2020/05/23 20:38

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -1,98 +1,14 @@
1
- 回答ではありませんが、関数にしてみました。
1
+ 回答ではありませんが、for文にしてみました。
2
2
 
3
- パラメータの投球数(no)が変化するので、投球毎に何かしないとですねd^^
3
+ 投球数(no)が変化するので、投球毎に何かしないとですねd^^
4
4
 
5
5
  あと、ファールとか何も考えてないです^^;
6
6
 
7
7
  ```c
8
8
 
9
- #include <stdio.h>
10
-
11
- // キー待ち
12
-
13
- static void keyWait( )
14
-
15
- {
16
-
17
- getchar( );
18
-
19
- // system("cls");
20
-
21
- }
22
-
23
- //
24
-
25
- static void sub(int throw, int no)
26
-
27
- {
28
-
29
- if(no > 3) {
30
-
31
- return;
32
-
33
- }
34
-
35
- //
36
-
37
- int tmp = 0;
38
-
39
- switch(throw) {
40
-
41
- case 1:
42
-
43
- printf("\n\n\n\n\n");
44
-
45
- printf(" 主審「ストライ~ク!!」\n\n\n\n");
46
-
47
- printf(" 実況「%d球目も空振り~」\n", no);
48
-
49
- break;
50
9
 
51
10
 
52
-
53
- case 2:
54
-
55
- printf("\n\n\n\n\n");
56
-
57
- printf(" 主審「ストライ~ク!!」\n\n\n\n");
58
-
59
- printf(" 実況「%d球目も空振り~」\n", no);
60
-
61
- break;
62
-
63
-
64
-
65
- default:
66
-
67
- printf("\n\n\n\n\n");
68
-
69
- printf(" 主審「ボール!!」\n\n\n\n");
70
-
71
- printf(" 実況「%d球目は少し外れてボール!!」\n", no);
72
-
73
- }
74
-
75
- // キー入力待ち
76
-
77
- keyWait( );
78
-
79
- // s
80
-
81
- printf("\n\n\n\n\n");
82
-
83
- printf("  実況「ピッチャー第%d球、投げました!」\n\n\n\n", no + 1);
84
-
85
- printf(" (%d球目が来た。1:ストレート 2:カーブ 3:見送る)\n\n", no + 1);
86
-
87
- printf("  → ");
11
+ #include <stdio.h>
88
-
89
- //
90
-
91
- scanf("%d", &tmp);
92
-
93
- sub(tmp, no + 1);
94
-
95
- }
96
12
 
97
13
  //
98
14
 
@@ -126,23 +42,67 @@
126
42
 
127
43
  //
128
44
 
129
- printf("  実況「ピッチャー第1球、投げました!」\n\n\n\n");
45
+ for(int no = 0; no < 4; no++) {
130
46
 
131
- printf(" (1目が来。1:ストレート 2:カーブ 3:見送る)\n\n");
47
+ printf("  実況「ピッチャー第%d、投げまし!」\n\n\n\n", no);
132
48
 
133
- printf("  → ");
49
+ printf(" (%d球目が来た。1:ストレート 2:カーブ 3:見送る)\n\n", no + 1);
134
50
 
135
- //
51
+ printf("  → ");
136
52
 
137
- scanf("%d", &throw);
53
+ //
138
54
 
139
- sub(throw, 1);
55
+ scanf("%d", &throw);
140
56
 
141
- //
57
+ //
58
+
59
+ switch(throw) {
60
+
61
+ case 1:
62
+
63
+ printf("\n\n\n\n\n");
64
+
65
+ printf(" 主審「ストライ~ク!!」\n\n\n\n");
66
+
67
+ printf(" 実況「%d球目も空振り~」\n", no + 1);
68
+
69
+ break;
70
+
71
+
72
+
73
+ case 2:
74
+
75
+ printf("\n\n\n\n\n");
76
+
77
+ printf(" 主審「ストライ~ク!!」\n\n\n\n");
78
+
79
+ printf(" 実況「%d球目も空振り~」\n", no + 1);
80
+
81
+ break;
82
+
83
+
84
+
85
+ default:
86
+
87
+ printf("\n\n\n\n\n");
88
+
89
+ printf(" 主審「ボール!!」\n\n\n\n");
90
+
91
+ printf(" 実況「%d球目は少し外れてボール!!」\n", no + 1);
92
+
93
+ }
94
+
95
+ // キー入力待ち
96
+
97
+ getchar( );
98
+
99
+ //
100
+
101
+ }
142
102
 
143
103
  // キー入力待ち
144
104
 
145
- keyWait( );
105
+ getchar( );
146
106
 
147
107
  //
148
108
 

1

ソース修正

2020/05/23 20:27

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -25,6 +25,14 @@
25
25
  static void sub(int throw, int no)
26
26
 
27
27
  {
28
+
29
+ if(no > 3) {
30
+
31
+ return;
32
+
33
+ }
34
+
35
+ //
28
36
 
29
37
  int tmp = 0;
30
38
 
@@ -61,12 +69,6 @@
61
69
  printf(" 主審「ボール!!」\n\n\n\n");
62
70
 
63
71
  printf(" 実況「%d球目は少し外れてボール!!」\n", no);
64
-
65
- }
66
-
67
- if(no > 3) {
68
-
69
- return;
70
72
 
71
73
  }
72
74
 
@@ -142,7 +144,7 @@
142
144
 
143
145
  keyWait( );
144
146
 
145
- // s
147
+ //
146
148
 
147
149
  return 0;
148
150