C C 產生隨機數的函式

2021-10-01 23:49:54 字數 609 閱讀 6278

c語言中有可以產生隨機數的函式,需要新增 stdlib.h 標頭檔案和 time.h 標頭檔案。

srand((unsigned) time(null));	//初始化隨機種子 

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

printf("%d ", rand());

其中,rand()函式只能產生[0, rand_max]範圍內的整數(rand_max是stdlib.h中的乙個常數)。

如果想要產生給定範圍[a,b]內的隨機數,需要使用rand()%(b-a+1)+a。其中rand()%(b-a+1)的範圍是[0,b-a],再加上a之後就是[a,b]。

1.先用rand()生成乙個[0,rand_max]範圍內的隨機數

2.然後用這個隨機數除以rand_max,這樣就能得到乙個[0,1]範圍內的浮點數

3.最後用這個浮點數乘以範圍長度b-a+1,再加上a即可

(int)(round(1.0 * rand() / rand_max * (right - left) + left))
即如上**所示,可產生[left,right]範圍內的隨機數。

C C 產生隨機數

c c 產生隨機數 c c 產生隨機數用到兩個函式rand 和 srand 一.不指定範圍產生隨機數 用到函式rand 函式原型為int rand 無引數。此時會產生乙個介於0 rand max間的整數。rand max的大小可以檢視,在include資料夾 linux在usr目錄 windows在...

C C 產生隨機數

c c 產生隨機數用到兩個函式rand 和 srand 一.不指定範圍產生隨機數 用到函式rand 函式原型為int rand 無引數。此時會產生乙個介於0 rand max間的整數。rand max的大小可以檢視,在include資料夾 linux在usr目錄 windows在安裝目錄 的stdl...

C C 產生隨機數

c c 產生隨機數用到兩個函式rand 和 srand 一.不指定範圍產生隨機數 用到函式rand 函式原型為int rand 無引數。此時會產生乙個介於0 rand max間的整數。rand max的大小可以檢視,在include資料夾 linux在usr目錄 windows在安裝目錄 的stdl...