標準庫(被包含於)提供兩個生成偽隨機數的函式。
函式一:int rand(void);// 整數型 取隨機數()
從srand()中指定的seed開始,返回乙個[seed,rand_max(0x7fff)]間的隨機整數
函式二:void srand(unsigned seed);//置隨機數種子
引數seed是rand()的種子,用於初始化rand()的起始值。
rand()呼叫步驟:
(1)若有srand(seed) ,seed是乙個定值時,rand()產生的值都會一樣;seed不是定值每次程式執行rand()產生的值不一樣。
(2)沒有 會自動呼叫srand(1)一次。
例項:1,不指定seed
for(int i=0;i<10;++i){
cout《每次執行輸出:1 7 4 0 9 4 8 8 2 4
2,指定seed為定值1:
srand(1);
for(int i=0;i<10;++i){
cout《每次執行輸出:1 7 4 0 9 4 8 8 2 4
3,指定seed為當前系統時間時:time(0)它返回從2023年1月1日零時零分零秒到目前為止所經過的時間,單位為秒。
srand(time(0));
for(int i=0;i<10;++i){
cout《每次執行輸出不同。
若返回隨機浮點數:用rand()/double(rand_max)可以取得0~1之間的浮點數(注意,不同於整型時候的公式,是除以,不是求模)
C C 中產生隨機數 rand,srand用法
計算機的隨機數都是由偽隨機數,即是由小m多項式序列生成的,其中產生每個小序列都有乙個初始值,即隨機種子。注意 小m多項式序列的週期是65535,即每次利用乙個隨機種子生成的隨機數的週期是65535,當你取得65535個隨機數後它們又重複出現了。我們知道rand 函式可以用來產生隨機數,但是這不是真正...
C C 中產生隨機數 rand,srand用法
計算機的隨機數都是由偽隨機數,即是由小m多項式序列生成的,其中產生每個小序列都有乙個初始值,即隨機種子。注意 小m多項式序列的週期是65535,即每次利用乙個隨機種子生成的隨機數的週期是65535,當你取得65535個隨機數後它們又重複出現了。我們知道rand 函式可以用來產生隨機數,但是這不是真正...
C C 中產生隨機數 rand,srand用法
計算機的隨機數都是由偽隨機數,即是由小m多項式序列生成的,其中產生每個小序列都有乙個初始值,即隨機種子。注意 小m多項式序列的週期是65535,即每次利用乙個隨機種子生成的隨機數的週期是65535,當你取得65535個隨機數後它們又重複出現了。我們知道rand 函式可以用來產生隨機數,但是這不是真正...