回答編集履歴

7

追記

2019/02/24 01:45

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -107,3 +107,13 @@
107
107
 
108
108
 
109
109
  ゲーム中、値の入力を一回しか受け付けていないことに気付いているでしょうか。
110
+
111
+
112
+
113
+ 質問編集を受けて
114
+
115
+ ---
116
+
117
+ rand_nを呼び出す度に答えが変わっています。
118
+
119
+ **一回だけ**rand_nを呼び出し、その返り値を答えとして変数に格納しておくべきです。

6

追記

2019/02/24 01:45

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -103,3 +103,7 @@
103
103
  ゲームを作るのは確かに楽しいですが、もうちょっと簡単なものから始めてはいかがですか。
104
104
 
105
105
  特にループの挙動について入念な復習が必要です。
106
+
107
+
108
+
109
+ ゲーム中、値の入力を一回しか受け付けていないことに気付いているでしょうか。

5

追記

2019/02/23 09:53

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -74,6 +74,8 @@
74
74
 
75
75
 
76
76
 
77
+ 前述のとおり乱数の値は毎回異なりますし、
78
+
77
79
  randはrand_nよりもっと広い範囲の整数を返しますから、何ら不思議では無いです。
78
80
 
79
81
 

4

修正

2019/02/23 09:41

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -100,4 +100,4 @@
100
100
 
101
101
  ゲームを作るのは確かに楽しいですが、もうちょっと簡単なものから始めてはいかがですか。
102
102
 
103
- 特にfor文使い方について入念な復習が必要です。
103
+ 特にループ挙動について入念な復習が必要です。

3

追記

2019/02/23 09:37

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -62,6 +62,22 @@
62
62
 
63
63
 
64
64
 
65
+ > しかし、キーボードからの入力値とコンピューターから表示される数字の差が正しく計算されておらず、試しに表示させた(31行目)ところ、-18456と表示されてしまいました。
66
+
67
+
68
+
69
+ > ```C
70
+
71
+ printf("%d\n", g - rand());
72
+
73
+ > ```
74
+
75
+
76
+
77
+ randはrand_nよりもっと広い範囲の整数を返しますから、何ら不思議では無いです。
78
+
79
+
80
+
65
81
  その他、怪しい箇所
66
82
 
67
83
  ---

2

修正

2019/02/23 09:35

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -78,9 +78,7 @@
78
78
 
79
79
  0. fを初期化した直後に値を判定しても意味が無い。
80
80
 
81
- 0. printf("Selected number is %d\n", rand_n()); 選んでない。
82
-
83
- 0. for (int i = 0; f == 100; i++) { 継続条件が仕様に反する。
81
+ 0. for (int i = 0; f == 100; i++) 継続条件が仕様に反する。
84
82
 
85
83
 
86
84
 

1

追記

2019/02/23 09:31

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -62,6 +62,28 @@
62
62
 
63
63
 
64
64
 
65
- その他、怪しい箇所が多数あります。
65
+ その他、怪しい箇所
66
+
67
+ ---
68
+
69
+ 上から順に列挙します。
70
+
71
+ 0. グローバル変数のfとローカル変数のfが共存している。
72
+
73
+ 0. 不要なプロトタイプ宣言が並んでいる。
74
+
75
+ 0. rand_nの実装について、なぜ0を加算しているのか。
76
+
77
+ 0. gess ⇒ guess
78
+
79
+ 0. fを初期化した直後に値を判定しても意味が無い。
80
+
81
+ 0. printf("Selected number is %d\n", rand_n()); 選んでない。
82
+
83
+ 0. for (int i = 0; f == 100; i++) { 継続条件が仕様に反する。
84
+
85
+
66
86
 
67
87
  ゲームを作るのは確かに楽しいですが、もうちょっと簡単なものから始めてはいかがですか。
88
+
89
+ 特にfor文の使い方について入念な復習が必要です。