在c語言中要產(chǎn)生隨機(jī)數(shù)可以用rand函數(shù)。默認(rèn)情況下這個函數(shù)產(chǎn)生的隨機(jī)整數(shù)的范圍是[0,RAND_MAX]。RAND_MAX是一個預(yù)定義的宏,其值等于平臺上int類型的最大值。
創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)萊州,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
c語言隨機(jī)數(shù)函數(shù)是 rand()若要輸出1~10之間的隨機(jī)數(shù),可用rand()%10+1。
rand()是表示產(chǎn)生隨機(jī)數(shù)的一種函數(shù),多應(yīng)用于循環(huán)語句當(dāng)中進(jìn)行判斷。比如說n=rand();switch(n){case..case..} 這些都是都可能被執(zhí)行的,因為數(shù)字是隨機(jī)的。
C語言隨機(jī)函數(shù)主要用于實現(xiàn)一組隨機(jī)數(shù)的生成。
1、srand((unsigned)time(NULL));//以系統(tǒng)時間為種子生成隨機(jī)數(shù),如果使用相同的種子后面的rand()函數(shù)會出現(xiàn)一樣的隨機(jī)數(shù)。
2、重新define一下RAND_MAX,然后用long來接收結(jié)果就可以了。rand函數(shù)返回一個[0, RAND_MAX]之間的隨機(jī)值。你可以在c的頭文件里面搜索一下RAND_MAX,有一個默認(rèn)的define值,范圍不夠大的話,改一下就好了。
3、隨機(jī)8個數(shù)(整數(shù)、小數(shù)都可),總和為N,然后每個數(shù)除以N,這樣8個數(shù)加起來就為1了 強(qiáng)制轉(zhuǎn)換。double b=((int)((double)a*100))/100;//或者float,不過我喜歡double。注意括號順序。今天出去了。汗。
4、C語言提供了一些庫函數(shù)來實現(xiàn)隨機(jī)數(shù)的產(chǎn)生。
在實際編程中,我們經(jīng)常需要生成隨機(jī)數(shù)。在c語言中我們通常使用rand方法生成隨機(jī)數(shù),在調(diào)用rand前需要調(diào)用srand初始化隨機(jī)數(shù)種子。
h中的一個宏定義。num和函數(shù)返回值都是整型數(shù)。如需要在一個random()序列上生成真正意義的隨機(jī)數(shù),在執(zhí)行其子序列時使用randomSeed()函數(shù)預(yù)設(shè)一個絕對的隨機(jī)輸入,例如在一個斷開引腳上的analogRead()函數(shù)的返回值。
要從隨機(jī)數(shù)說起 調(diào)用隨機(jī)數(shù)函數(shù) rand() 的時候, 實際得到的這個隨機(jī)數(shù)并不是絕對隨機(jī)的,它是以一個初始值,通過一個算法,計算出來的“偽隨機(jī)數(shù)數(shù)列,每次調(diào)用rand()時,從這個數(shù)列依次取出一個值,做為隨機(jī)數(shù)。
我曾經(jīng)寫過一個游戲,這個是代碼的一部分。希望對你有幫助。// RandNum類,用于產(chǎn)生隨機(jī)數(shù)。。