函數:生成1-n的隨機數組,

方法很笨,不過可行;數組

 1 #include <stdio.h>
 2 /** 功能:獲取一個1-n的隨機數數組,這些隨機數都互不相同
 3 **  入參:n-表示最大隨機數; *randArray -用於儲存生成的這些隨機數;
 4 **  說明:該方法效率很低;採用生成的隨機數跟前面已經生成的隨機數對比;
 5 */
 6 void getRandArray(int n,int * randArray){
 7     srand((int)time(0));
 8     int i;
 9     for(i=0;i<n;i++)
10     {
11         randArray[i]=rand()%n;
12         int k=0;
13         for(k=0;k<i;)
14         {
15             int cycleFlag=0;    //若是有生成的隨機數與前面的相同,則將循環標誌置爲1;
16             while(randArray[i]==randArray[k])
17             {   randArray[i]=rand()%n;
18                 cycleFlag=1;
19                 break;
20             }
21             if(cycleFlag==0)
22                 k++;
23             else
24                 k=0;
25         }
26     }
27     for(i=0;i<n;i++){
28         randArray[i]=randArray[i]+1;
29     }
30 }
31 
32 int main(){
33     int testArray[20];
34     getRandArray(sizeof(testArray)/sizeof(int),testArray);
35 }
相關文章
相關標籤/搜索