c 生成隨機數

2021-08-18 02:57:48 字數 1981 閱讀 2730

一、random類

表示偽隨機數生成器,一種能夠產生滿足某些隨機性統計要求的數字序列的裝置。

random.next()有3個過載。

/// /// 生成隨機數

///

///

public listrdnumber()

return col;

}

由於system.random 類預設的無參建構函式使用與時間相關的預設種子值。上面例子迴圈完成的時間很短,所以根據系統時間得到的隨機數是一樣的。

這時把初始化random類放在迴圈外面試一下:

public listrdnumber()

return col;

}

結果:沒有出現重複值

1、生成不重複隨機數

方法一:

/// /// 指定範圍內的不重複隨機數(要求隨機數個數小於隨機數範圍否則程式會陷入死迴圈。可在迴圈中加入跳出機制)

///

/// 隨機數個數

/// 隨機數下限

/// 隨機數上限

///

public listgetrandomarray(int number, int minnum, int maxnum)

else

}return b;

}

方法二:思想是用乙個陣列來儲存索引號,先隨機生成乙個陣列位置,然後把隨機抽取到的位置的索引號取出來,並把最後乙個索引號複製到當前的陣列位置,然後使隨機數的上限減一,具體如:先把這100個數放在乙個陣列內,每次隨機取乙個位置(第一次是1-100,第二次是1-99,...),將該位置的數用最後的數代替。

int index = new int[15];

for (int i = 0; i < 15; i++)

index[i] = i;

random r = new random();

//用來儲存隨機生成的不重複的10個數

int result = new int[10];

int site = 15;//設定上限

int id;

for (int j = 0; j < 10; j++)

2、生成字母數字隨機組合

這裡先說一下說一下

ascii:ascii(american standard code for information interchange, 

美國標準資訊交換**)是基於拉丁字母的一套電腦編碼系統,主要 

用於顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼 

系統,並等同於國際標準iso/iec 646。

a-z的 ascii值為65-90,a-z的 ascii值為97-122

**:

/// /// 生成單個隨機數字

///

public int createnum(random random)

/// /// 生成單個大寫隨機字母

///

public string createbigabc(random random)

/// /// 生成單個小寫隨機字母

///

public string createsmallabc(random random)

/// /// 生成隨機字母數字組合

///

///

public string getrandom()

}return sb.tostring();

}

C 隨機數生成

using system using system.collections.generic using system.text namespace createrandomno return sb.tostring 生成大寫字母隨機數 public static string getabcpwd i...

C 隨機數生成

標準庫 被包含於中 提供兩個幫助生成偽隨機數的函式 函式一 int rand void 從srand seed 中指定的seed開始,返回乙個 seed,rand max 0x7fff 間的隨機整數。函式二 void srand unsigned seed 引數seed是rand 的種子,用來初始化...

C 隨機數生成

標準庫 被包含於中 提供兩個幫助生成偽隨機數的函式 函式一 int rand void 從srand seed 中指定的seed開始,返回乙個 seed,rand max 0x7fff 間的隨機整數。函式二 void srand unsigned seed 引數seed是rand 的種子,用來初始化...