質問編集履歴

4

説明の変更

2021/03/25 06:11

投稿

Natumeru
Natumeru

スコア5

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ・出る等はランダムで出す。
6
6
 
7
- ・確立(本数)を決めて例えばランダムで2等が出た場合に1回目は表示するが2回目は残数がないので再抽選する必要ががあるというものです
7
+ ・確立(本数)を決めてランダム出た等賞を残数管理する必要がある。例えばランダムで2等が出た場合に1回目は表示するが2回目は残数がないので再抽選する必要ががあるというものです
8
8
 
9
9
  分からないところ
10
10
 

3

修正

2021/03/25 06:11

投稿

Natumeru
Natumeru

スコア5

test CHANGED
File without changes
test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
 
72
72
 
73
- while (ca == k2||) {
73
+
74
74
 
75
75
  if (num >= 1 && num <= k1) {
76
76
 
@@ -104,7 +104,7 @@
104
104
 
105
105
  }
106
106
 
107
- }
107
+
108
108
 
109
109
 
110
110
 

2

ソースコードの修正

2021/03/25 05:38

投稿

Natumeru
Natumeru

スコア5

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,8 @@
11
11
  再抽選させるところです。
12
12
 
13
13
  ### ソースコード
14
+
15
+ ```
14
16
 
15
17
  #include <stdio.h>
16
18
 
@@ -68,7 +70,7 @@
68
70
 
69
71
 
70
72
 
71
-
73
+ while (ca == k2||) {
72
74
 
73
75
  if (num >= 1 && num <= k1) {
74
76
 
@@ -112,7 +114,7 @@
112
114
 
113
115
 
114
116
 
115
- if (c==k1) { break; } /* 1等が出たら抽選終了*/
117
+ if (c==k1) { break; } /* 1等が出たら抽選終了 */
116
118
 
117
119
  }
118
120
 
@@ -121,3 +123,5 @@
121
123
  return 0;
122
124
 
123
125
  }
126
+
127
+ ```

1

ソースコードを追加

2021/03/25 05:35

投稿

Natumeru
Natumeru

スコア5

test CHANGED
File without changes
test CHANGED
@@ -9,3 +9,115 @@
9
9
  分からないところ
10
10
 
11
11
  再抽選させるところです。
12
+
13
+ ### ソースコード
14
+
15
+ #include <stdio.h>
16
+
17
+ #include <stdlib.h>
18
+
19
+ #include <time.h>
20
+
21
+ /* 10回引いて1等・2等が1,3等が2,それ以外は4等*/
22
+
23
+
24
+
25
+ int main(void)
26
+
27
+ {
28
+
29
+ int num, c = 0, ca = 0, cb = 0, cc = 0;
30
+
31
+ int k1, k2, k3, k4;
32
+
33
+
34
+
35
+ srand((unsigned int)time(NULL));
36
+
37
+
38
+
39
+ printf("1等:");
40
+
41
+ scanf("%d", &k1);
42
+
43
+
44
+
45
+ printf("2等:");
46
+
47
+ scanf("%d", &k2);
48
+
49
+
50
+
51
+ printf("3等:");
52
+
53
+ scanf("%d", &k3);
54
+
55
+
56
+
57
+ printf("4等:");
58
+
59
+ scanf("%d", &k4);
60
+
61
+
62
+
63
+ for (int i = 1; i <= 10; i++) {
64
+
65
+
66
+
67
+ num = rand() % 10 + 1;
68
+
69
+
70
+
71
+
72
+
73
+ if (num >= 1 && num <= k1) {
74
+
75
+ printf("%d:1等\n", i);
76
+
77
+ c++;
78
+
79
+ }
80
+
81
+ else if (num >= k2 && num <= k3) {
82
+
83
+ printf("%d:2等\n", i);
84
+
85
+ ca++;
86
+
87
+ }
88
+
89
+ else if (num >= k4 && num <= 10) {
90
+
91
+ printf("%d:4等\n", i);
92
+
93
+ cc++;
94
+
95
+ }
96
+
97
+ else {
98
+
99
+ printf("%d:3等\n", i);
100
+
101
+ cb++;
102
+
103
+ }
104
+
105
+ }
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ if (c==k1) { break; } /* 1等が出たら抽選終了*/
116
+
117
+ }
118
+
119
+
120
+
121
+ return 0;
122
+
123
+ }