回答編集履歴

2

修正

2018/11/23 05:17

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  double d_rand_range(double min, double max) {
36
36
 
37
- return d_rand() * fabs(max - min) - fabs(min);
37
+ return d_rand() * (max - min) + min;
38
38
 
39
39
  }
40
40
 

1

追記

2018/11/23 05:17

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -15,3 +15,27 @@
15
15
 
16
16
 
17
17
  返り値をint型にキャストする処理が走っています。適切な型(double)を指定してください。
18
+
19
+
20
+
21
+ ---
22
+
23
+ rnd_generateの実装自体も間違っていそうな雰囲気です。
24
+
25
+ 関数を適切に分けた方が書きやすいと思いますが。
26
+
27
+ ```C
28
+
29
+ double d_rand(void) {
30
+
31
+ return 1. * rand() / RAND_MAX;
32
+
33
+ }
34
+
35
+ double d_rand_range(double min, double max) {
36
+
37
+ return d_rand() * fabs(max - min) - fabs(min);
38
+
39
+ }
40
+
41
+ ```