c語言rand()函數(shù)怎么用 C語言:用rand函數(shù)產(chǎn)生1到10范圍內(nèi)的隨機(jī)數(shù)的問題,有點(diǎn)地方求教?
C語言:用rand函數(shù)產(chǎn)生1到10范圍內(nèi)的隨機(jī)數(shù)的問題,有點(diǎn)地方求教?2113需要準(zhǔn)備的資料有:電腦5261,C語言編譯器。1首先,4102打開C編譯器并創(chuàng)建一個新的初始值。Cpp文件,例如:1653
C語言:用rand函數(shù)產(chǎn)生1到10范圍內(nèi)的隨機(jī)數(shù)的問題,有點(diǎn)地方求教?
2113需要準(zhǔn)備的資料有:電腦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,編譯器運(yùn)行測試.cpp此時,通過Rand成功生成10個1-100范圍內(nèi)的整數(shù)。
C語言怎樣產(chǎn)生一定范圍的隨機(jī)數(shù)?
C語言獲取隨機(jī)數(shù)的函數(shù)是rand(),它可以得到一個非負(fù)整數(shù)隨機(jī)數(shù)。要調(diào)用Rand,需要引用頭文件stdlib。為了將隨機(jī)數(shù)限制在一定的范圍內(nèi),我們可以使用模除加的方法。為了生成M<=r<=n范圍內(nèi)的隨機(jī)數(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,我們可以使用增量不是0的方法:
#include<stdio。H>
#包括<stdlib。H>
#包括<time。H>
intmain()
{
intra,I
srand(time(0))
intb=0
]for(I=0I<4i)
{
a=rand() 1//生成的隨機(jī)數(shù)a是增量,范圍是1-10
B=B a]]printf(%dt,B)
}
return0
C語言中的RAND函數(shù)產(chǎn)生的數(shù)值不變?
cplusplus有這樣一個介紹:rand函數(shù)生成一個Rand從0到Randumax的偽隨機(jī)數(shù),這里的Randumax因?qū)崿F(xiàn)而異,但Randumax至少是32767。(例如,MSVC中通常是0x7FFF,即32767,而Linux平臺上GCC中的Rand通常比這個值大得多。)其他編程語言中的一些Rand函數(shù)確實會產(chǎn)生介于[0.0,1.0]之間的浮點(diǎn)數(shù)。例如,MATLAB。在C中,Rand()%32將產(chǎn)生一個介于[0,32]之間的偽隨機(jī)數(shù),因此Rand()%32 1的值范圍實際上是[1,33]。生成[0,32](開放區(qū)間)之間的偽隨機(jī)數(shù):rand()%32;生成[0,32](閉合區(qū)間)之間的偽隨機(jī)數(shù):rand()%33。