c語言中有可以產生隨機數的函式,需要新增 stdlib.h 標頭檔案和 time.h 標頭檔案。
其中,rand()函式只能產生[0, rand_max]範圍內的整數(rand_max是stdlib.h中的乙個常數)。srand((unsigned) time(null)); //初始化隨機種子
for(int i = 0; i < 10; i++)
printf("%d ", rand());
如果想要產生給定範圍[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...