本帖最后由 jackz007 于 2020-3-9 12:38 编辑 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
void random(int array[] , const int n)
{
int c , k , m ;
bool f ;
srand(time(0)) ;
for(k = 0 ; k < n ; k ++) array[k] = 0 ;
m = 0 ;
while(m < n) {
c = rand() % n + 1 ;
f = true ;
if (m) {
for(k = 0 ; k < m ; k ++) {
if (array[k] == c) {
f = false ;
break ;
}
}
}
if (f) array[m ++] = c ;
}
}
main(void)
{
int array[50] , k , n = 50 ;
random(array , n) ;
printf("%2d" , array[0]) ;
for(k = 1 ; k < n ; k ++) printf("\t%2d" , array[k]) ;
printf("\n") ;
}
编译运行实况:C:\Bin>g++ -o rand rand.c
C:\Bin>rand
32 22 18 14 30 42 46 48 15 27
29 7 11 41 3 33 12 31 26 16
8 40 17 2 25 34 39 9 50 21
47 4 5 43 23 45 49 1 44 13
36 20 24 35 38 6 10 19 37 28
C:\Bin>rand
49 34 37 27 35 47 41 29 38 36
3 32 4 40 24 13 39 8 20 50
18 5 11 1 12 44 7 9 10 30
26 43 33 6 19 16 2 15 31 22
17 23 25 14 48 45 21 42 28 46
C:\Bin>rand
25 36 28 26 48 43 22 29 9 39
3 6 20 23 42 35 15 40 47 19
10 12 1 41 21 8 14 38 33 27
37 7 30 18 44 16 17 13 5 49
11 2 4 31 50 46 24 45 34 32
C:\Bin>
|