c 隨機數生成

2021-07-13 19:36:07 字數 903 閱讀 7018

一、標準庫(被包含於中)提供兩個幫助生成偽隨機數的函式:

函式一:int rand(void);

從srand (seed)中指定的seed開始,返回乙個[seed, rand_max(0x7fff))間的隨機整數。

函式二:void srand(unsigned seed);

引數seed是rand()的種子,用來初始化rand()的起始值。

二、rand()的用法 

rand()不需要引數,它會返回乙個從0到最大隨機數(

rand_max

)之間的任意整數,最大隨機數的大小通常是固定的乙個大整數。

(1)生成int 

a~int b之間

整數int n

= a + rand() % (b-a+1)

a~b之間

整數(2)固定有效數字的隨機小數

若要0~1的小數,則可以先取得0~10的整數,然後均除以10即可得到隨機到十分位的10個隨機小數,若要得到隨機到百分位的隨機小數,則需要先得到0~100的10個整數,然後均除以100。

(3) 

生成double

a~doubleb之間

小數

double n = a + (double)(rand())/rand_max*(b-a);

(4) 

通常rand()產生的隨機數在每次執行的時候都是與上一次相同的,這是有意這樣設計的,是為了便於程式的除錯。若要產生每次不同的隨機數,可以使用srand( seed )函式進行隨機化,隨著seed的不同,就能夠產生不同的隨機數。

(5)如大家所說,還可以包含time.h標頭檔案,然後使用srand(time(0))來使用當前時間使隨機數發生器隨機化,這樣就可以保證每兩次執行時可以得到不同的隨機數序列(只要兩次執行的間隔超過1秒)。

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 的種子,用來初始化...