c語言生成隨機數筆記

2021-10-05 19:29:22 字數 836 閱讀 2613

#include

#include

#include

//利用時間來製造偽隨機數

intmain()

以下一段話摘自***煙雨迷離半世殤***:

系統在呼叫rand()之後就自動呼叫srand(),如果使用者在rand()之前呼叫srand()給引數seed指定乙個值,那麼rand()就會將seed的值作為產生偽隨機數的初始值,如果使用者在rand()前沒有呼叫srand(),系統會預設將1作為偽隨機數的初始值,如果給了乙個定值,每次rand()產生的隨機數序列就一樣了,所以為了避免發生上述情況,通常用srand((unsigned)time(0))或者srand((unsigned)time(null))來產生種子,如果覺得時間間隔太小,可以在(unsigned)time(0)或者(unsigned)time(null)後面乘以某個合適值,如srand((unsigned)time(null)*10)。

如果不想用

srand((

unsigned

)time

(null)+

(unsigned

)rand()

);

也可以

srand((

unsigned

)time

(null))

;for

(i=0

;i<

5;i++

)

希望可以幫到你,加油!

2020.5

.6

C語言生成隨機數筆記

生成指定範圍內的隨機數字 rand 函式是按指定的順序來產生整數,因此每次執行上面的語句都列印相同的兩個值,所以說c語言的隨機並不是真正意義上的隨機,有時候也叫偽隨機數。使用 rand 生成隨機數之前需要用隨機發生器的初始化函式 srand unsigned seed 進行偽隨機數序列初始化,see...

C 隨機數筆記

要取得 a,b 的隨機整數,使用 rand b a a 要取得 a,b 的隨機整數,使用 rand b a 1 a 要取得 a,b 的隨機整數,使用 rand b a a 1 通用公式 a rand n 其中的a是起始值,n是整數的範圍。要取得a到b之間的隨機整數,另一種表示 a int b ran...

C 隨機數筆記

rand 和srand 要一起使用,其中srand 用來初始化隨機數種子,rand 用來產生隨機數。因為預設情況下隨機數種子為1,而相同的隨機數種子產生的隨機數是一樣的,失去了隨機性的意義,所以為使每次得到的隨機數不一樣,用函式srand 初始化隨機數種子。srand 的引數,用time函式值 即當...