码迷,mamicode.com
首页 > 编程语言 > 详细

生成不重复随机数(c/c++)

时间:2015-03-30 16:01:59      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

以冒泡排序法为例:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<time.h>
 4 int creatdata(int arr[],int n,int min,int max)
 5 {
 6     int i,j,flag;
 7     srand(time(NULL));//creat data
 8     if(max-min+1<n)return 0;
 9     for(i=0;i<n;i++)
10     {
11         do
12         {
13             arr[i]=(max-min+1)*rand()/(RAND_MAX+1)+min;
14             flag=0;
15             for(j=0;j<i;j++)
16             {
17                 if(arr[i]==arr[j])
18                 {
19                     flag=1;
20                 }
21             }
22         }
23         while(flag);
24     }
25     return 1;
26 }
27 void bubblesort(int a[],int n)
28 {
29     int i,j,t;
30     for(i=0;i<n;i++)
31     {
32         for(j=n-1;j>i;j--)
33         {
34             if(a[j-1]>a[j])
35             {
36                 t=a[j-1];
37                 a[j-1]=a[j];
38                 a[j]=t;
39             }
40         }
41         /*printf("第%2d遍:",i+1);
42         for(j=0;j<n;j++)
43         printf("%d",a[j]);
44         printf("\n");*/
45     }
46 }
47 int main()
48 {
49     int i,a[6];
50     for(i=0;i<6;i++)
51     {
52         a[i]=0;
53         
54     }
55     if(!creatdata(a,6,1,100))
56     {
57         printf("生成随机数不成功\n");
58         return 1;
59     }
60     printf("原数据:");
61     for(i=0;i<6;i++)
62     printf("%d ",a[i]);
63     printf("\n");
64     bubblesort(a,6);
65     printf("排序后:");
66     for(i=0;i<6;i++)
67     printf("%d ",a[i]);
68     printf("\n");
69     return 0; 
70 }

 

生成不重复随机数(c/c++)

标签:

原文地址:http://www.cnblogs.com/zahar/p/4378118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!