c++隨機數(shù)生成 C語言:用rand函數(shù)產(chǎn)生1到10范圍內(nèi)的隨機數(shù)的問題,有點地方求教?
C語言:用rand函數(shù)產(chǎn)生1到10范圍內(nèi)的隨機數(shù)的問題,有點地方求教?2113需要準備的資料有:電腦5261,C語言編譯器。1首先,4102打開C編譯器并創(chuàng)建一個新的初始值。Cpp文件,例如:1653
C語言:用rand函數(shù)產(chǎn)生1到10范圍內(nèi)的隨機數(shù)的問題,有點地方求教?
2113需要準備的資料有:電腦5261,C語言編譯器。1首先,4102打開C編譯器并創(chuàng)建一個新的初始值。Cpp文件,例如:1653測試.cpp. 2在測試.cpp文件,輸入C語言代碼:for(int i=0 i< 10 i)printf(%d”,rand()%100 1)3,編譯器運行測試.cpp此時,通過Rand成功生成10個1-100范圍內(nèi)的整數(shù)。
C語言怎樣產(chǎn)生一定范圍的隨機數(shù)?
C語言獲取隨機數(shù)的函數(shù)是rand(),它可以得到一個非負整數(shù)隨機數(shù)。要調(diào)用Rand,需要引用頭文件stdlib。為了將隨機數(shù)限制在一定的范圍內(nèi),我們可以使用模除加的方法。要生成M<=r<=n范圍內(nèi)的隨機數(shù)r,我們可以使用以下公式:rand()%(n-m1)M。其原理是,對于任何數(shù)字,0<=rand()%(n-m1)<=n-M,然后0 M<=rand()%(n-m1)M<=n-M,即,M<=rand()%(n-m1)M<=n
cplusplus有這樣一個介紹:rand函數(shù)生成一個0到randumax的偽隨機數(shù),這里的randumax因?qū)崿F(xiàn)而異,但randumax至少是32767。(例如,MSVC中通常是0x7FFF,即32767,而Linux平臺上GCC中的Rand通常比這個值大得多。)其他編程語言中的一些Rand函數(shù)確實會產(chǎn)生介于[0.0,1.0]之間的浮點數(shù)。例如,MATLAB。在C中,Rand()%32將產(chǎn)生一個介于[0,32]之間的偽隨機數(shù),因此Rand()%32 1的值范圍實際上是[1,33]。生成[0,32](開放區(qū)間)之間的偽隨機數(shù):rand()%32;生成[0,32](閉合區(qū)間)之間的偽隨機數(shù):rand()%33。