質問編集履歴

3

2018/03/09 10:52

投稿

Rock_s6nmnl
Rock_s6nmnl

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1 +1,71 @@
1
1
  rand関数で1から100までの乱数を生成して、もし30なら30%の確率で任意の処理をさせるコードを教えてください。
2
+
3
+
4
+
5
+ #include <stdio.h>
6
+
7
+ #include <stdlib.h>
8
+
9
+ #include <time.h>
10
+
11
+ #include <stdbool.h>
12
+
13
+
14
+
15
+ int main(void) {
16
+
17
+ srand((unsigned)time(NULL));
18
+
19
+ //trueになったら死ぬ、金が手に入る
20
+
21
+ bool m_flag = false, d_flag = false;
22
+
23
+ //死ぬ確率
24
+
25
+ int num_pro_d = rand() % 100 + 1;
26
+
27
+ //何万円もらえるか
28
+
29
+ int num_pro_m = 100 - num_pro_d;
30
+
31
+
32
+
33
+
34
+
35
+ printf("%d%%の確率で死ぬ\n",num_pro_d);
36
+
37
+ printf("%d%%の確率で%d万円手に入る\n",num_pro_m, num_pro_m);
38
+
39
+
40
+
41
+ double tmp_random = (double)rand()/RAND_MAX;
42
+
43
+ if (tmp_random < (double)num_pro_d/100) {
44
+
45
+ d_flag = true;
46
+
47
+ }
48
+
49
+ if (1 - tmp_random < (double)num_pro_d/100) {
50
+
51
+ m_flag = true;
52
+
53
+ }
54
+
55
+
56
+
57
+ if(m_flag == true){
58
+
59
+ printf("%d万円手に入れた\n",num_pro_m);
60
+
61
+ }
62
+
63
+ if(d_flag == true){
64
+
65
+ printf("%d%%の確率で死んだ\n",num_pro_d);
66
+
67
+ }
68
+
69
+ return 0;
70
+
71
+ }

2

2018/03/09 10:52

投稿

Rock_s6nmnl
Rock_s6nmnl

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1,71 +1 @@
1
1
  rand関数で1から100までの乱数を生成して、もし30なら30%の確率で任意の処理をさせるコードを教えてください。
2
-
3
-
4
-
5
- #include <stdio.h>
6
-
7
- #include <stdlib.h>
8
-
9
- #include <time.h>
10
-
11
- #include <stdbool.h>
12
-
13
-
14
-
15
- int main(void) {
16
-
17
- srand((unsigned)time(NULL));
18
-
19
- //trueになったら死ぬ、金が手に入る
20
-
21
- bool m_flag = false, d_flag = false;
22
-
23
- //死ぬ確率
24
-
25
- int num_pro_d = rand() % 100 + 1;
26
-
27
- //何万円もらえるか
28
-
29
- int num_pro_m = 100 - num_pro_d;
30
-
31
-
32
-
33
-
34
-
35
- printf("%d%%の確率で死ぬ\n",num_pro_d);
36
-
37
- printf("%d%%の確率で%d万円手に入る\n",num_pro_m, num_pro_m);
38
-
39
-
40
-
41
- double tmp_random = (double)rand()/RAND_MAX;
42
-
43
- if (tmp_random < (double)num_pro_d/100) {
44
-
45
- d_flag = true;
46
-
47
- }
48
-
49
- if (1 - tmp_random < (double)num_pro_d/100) {
50
-
51
- m_flag = true;
52
-
53
- }
54
-
55
-
56
-
57
- if(m_flag == true){
58
-
59
- printf("%d万円手に入れた\n",num_pro_m);
60
-
61
- }
62
-
63
- if(d_flag == true){
64
-
65
- printf("%d%%の確率で死んだ\n",num_pro_d);
66
-
67
- }
68
-
69
- return 0;
70
-
71
- }

1

2018/03/09 10:38

投稿

Rock_s6nmnl
Rock_s6nmnl

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1 +1,71 @@
1
1
  rand関数で1から100までの乱数を生成して、もし30なら30%の確率で任意の処理をさせるコードを教えてください。
2
+
3
+
4
+
5
+ #include <stdio.h>
6
+
7
+ #include <stdlib.h>
8
+
9
+ #include <time.h>
10
+
11
+ #include <stdbool.h>
12
+
13
+
14
+
15
+ int main(void) {
16
+
17
+ srand((unsigned)time(NULL));
18
+
19
+ //trueになったら死ぬ、金が手に入る
20
+
21
+ bool m_flag = false, d_flag = false;
22
+
23
+ //死ぬ確率
24
+
25
+ int num_pro_d = rand() % 100 + 1;
26
+
27
+ //何万円もらえるか
28
+
29
+ int num_pro_m = 100 - num_pro_d;
30
+
31
+
32
+
33
+
34
+
35
+ printf("%d%%の確率で死ぬ\n",num_pro_d);
36
+
37
+ printf("%d%%の確率で%d万円手に入る\n",num_pro_m, num_pro_m);
38
+
39
+
40
+
41
+ double tmp_random = (double)rand()/RAND_MAX;
42
+
43
+ if (tmp_random < (double)num_pro_d/100) {
44
+
45
+ d_flag = true;
46
+
47
+ }
48
+
49
+ if (1 - tmp_random < (double)num_pro_d/100) {
50
+
51
+ m_flag = true;
52
+
53
+ }
54
+
55
+
56
+
57
+ if(m_flag == true){
58
+
59
+ printf("%d万円手に入れた\n",num_pro_m);
60
+
61
+ }
62
+
63
+ if(d_flag == true){
64
+
65
+ printf("%d%%の確率で死んだ\n",num_pro_d);
66
+
67
+ }
68
+
69
+ return 0;
70
+
71
+ }