回答編集履歴
1
コード追加とdefine追加
answer
CHANGED
@@ -11,11 +11,36 @@
|
|
11
11
|
}
|
12
12
|
}
|
13
13
|
#define COUNT 30
|
14
|
+
#define SIZE 10
|
14
15
|
int main(void) {
|
15
16
|
int i, values[COUNT];
|
16
17
|
for(i=0; i<COUNT; i++) values[i] = i; /*0~29*/
|
17
18
|
suffle(values, COUNT); /*ランダムに並び替え*/
|
18
|
-
for(i=0; i<
|
19
|
+
for(i=0; i<SIZE; i++) printf("%02d\n", values[i]); /*10の位=0~2, 1の位=0~9*/
|
19
20
|
return 0;
|
20
21
|
}
|
22
|
+
```
|
23
|
+
オリジナルに近くするとこんな感じ...ちょっと収まりが良くない感じがします.
|
24
|
+
```c
|
25
|
+
#include <stdio.h>
|
26
|
+
#define COUNT 30
|
27
|
+
#define SIZE 10
|
28
|
+
int main(void){
|
29
|
+
int i,j,v;
|
30
|
+
int retry;
|
31
|
+
int number[SIZE][2];
|
32
|
+
srand(time(NULL));
|
33
|
+
for(i=0;i<SIZE;i++){
|
34
|
+
do{
|
35
|
+
v=rand()%COUNT;
|
36
|
+
for(j=0,retry=0;j<i&&!retry;j++) retry=(number[j][0]==v);
|
37
|
+
}while(retry);
|
38
|
+
number[i][0]=v;
|
39
|
+
}
|
40
|
+
for(i=0;i<SIZE;i++){
|
41
|
+
number[i][1]=number[i][0]%10; number[i][0]/=10;
|
42
|
+
printf("%d %d\n",number[i][0],number[i][1]);
|
43
|
+
}
|
44
|
+
return 0;
|
45
|
+
}
|
21
46
|
```
|