c語言產(chǎn)生1到10之間隨機數(shù) 如何在C語言中生成一定范圍內(nèi)的隨機數(shù)?
如何在C語言中生成一定范圍內(nèi)的隨機數(shù)?Srand((int)time(null));設(shè)置隨機數(shù)種子rand() 0;生成0-99的隨機數(shù)。如果您想生成16到59之間的數(shù)字,可以這樣寫:rand()d
如何在C語言中生成一定范圍內(nèi)的隨機數(shù)?
Srand((int)time(null));設(shè)置隨機數(shù)種子
rand() 0;生成0-99的隨機數(shù)。
如果您想生成16到59之間的數(shù)字,可以這樣寫:rand()d 16(這里44來自59-16 1)。在其他情況下,也是如此
!在C語言中,20-90的隨機整數(shù)是由rand()函數(shù)生成的
在20-90中有71個數(shù)字,所以它是rand()q20;
使用rand()生成-20-20的隨機數(shù)
-20-20有41個數(shù)字,所以它是rand()A-20
需要注意的是,在運行上述代碼之前,最好設(shè)置如下:srand(time(null))//使用系統(tǒng)當(dāng)前時間設(shè)置rand()的隨機序列種子,確保每次的隨機序列不同
C語言獲取隨機數(shù)的函數(shù)是rand(),它可以獲取隨機數(shù)的非負(fù)整數(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
使用srand((unsigned int)(time(null))是一種方法,因為每個運行程序的時間是不同的。C語言提供的隨機數(shù)生成器的用法:目前的C編譯器提供了一個基于ANSI標(biāo)準(zhǔn)的偽隨機數(shù)生成器函數(shù)來生成隨機數(shù)。它們是rand()和srand()函數(shù)。這兩個函數(shù)的工作如下:1)首先為srand()提供一個seed,它是一個無符號int類型,其值范圍為0~65535到2,然后調(diào)用rand(),rand()根據(jù)提供給srand()的seed值返回一個隨機數(shù)(0到32767)3,并根據(jù)需要重復(fù)調(diào)用rand(),為了不斷地獲得新的隨機數(shù);4)在任何時候,srand()都可以被提供一個新的種子來進(jìn)一步“隨機化”rand()的輸出。這是一個介于0和32767之間的隨機數(shù)程序:#include