單純的rand()會返回乙個0至rand_max之間的隨機數值,而rand_max的值與int位數有關,最小是32767。
不過rand()是一次性的,因為系統預設的隨機數種子為1,只要隨機數種子不變,其生成的隨機數序列就不會改變。
#include
//預設從1開始
for(
int i=
0;i<
100;i++
)
產生一定範圍隨機數的通用表示公式是:
取得[0,x)的隨機整數:rand()%x;
取得[a,b)的隨機整數:rand()%(b-a)+a;
取得[a,b]的隨機整數:rand()%(b-a+1)+a;
取得(a,b]的隨機整數:rand()%(b-a)+a+1;
取得0-1之間的浮點數:rand()/double(rand_max)。
srand()可用來設定rand()產生隨機數時的隨機數種子。通過設定不同的種子,我們可以獲取不同的隨機數序列。可以利用srand((unsigned int)(time(null))的方法,利用系統時鐘,產生不同的隨機數種子。
不過要呼叫time(),需要加入標頭檔案< ctime >。
#include
#include
srand
(int
(time(0
)));
// 設定開始(預設為1)
for(
int i=
0;i<
100;i++
)
參考部落格: 隨機生成隨機數
現畫乙個command命令按鈕,進行貼上。private sub command1 click show me scale 0,0 18,8 me.auto redraw true me.draw mode 2 circle 3,4 3,vb red me.auto redraw false lin...
隨機數生成
原型 void srand unsigned seed 用法 srand和rand 配合使用產生偽隨機數序列。rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。sr...
生成隨機數
1 生成num位數驗證碼 用於簡訊驗證功能 public static random rand new random public static string getcode int num result,s k return result random r new random 建立乙個隨機數生成...