srand()函數(shù)的原型聲明為:void srand (unsigned int seed);所以在調(diào)用時(shí)只需要傳入一個(gè)隨機(jī)數(shù)種子就可以了,不要加別的參數(shù)。例如:srand (time(NULL));也就是將當(dāng)前時(shí)間作為隨機(jī)數(shù)種子傳入。
為鳳陽(yáng)等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及鳳陽(yáng)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站制作、鳳陽(yáng)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
一般是你在調(diào)用函數(shù)的時(shí)候傳遞的是int類型的數(shù)據(jù),但那個(gè)函數(shù)定義的參數(shù)類型不是int(比如是結(jié)構(gòu)或者指針或者數(shù)組)。
用 srand() 生成新種子,那么 新的一套 和 老 的 一套 隨機(jī)數(shù) 次序就 不一樣了,數(shù)值也不完全一樣了,這樣模擬 的 偽隨機(jī) 就會(huì) 接近 真隨機(jī)。
在c語(yǔ)言里面,兩個(gè)函數(shù)包含在stdlib.h頭文件里面,c++里面,標(biāo)準(zhǔn)庫(kù)cstdlib(被包含于iostream中).srand函數(shù)是隨機(jī)數(shù)發(fā)生器的初始化函數(shù)。原型:void srand(unsigned seed);rand函數(shù)用來(lái)產(chǎn)生隨機(jī)數(shù),當(dāng)然是偽隨機(jī)數(shù)。
函數(shù) srand()(來(lái)自stdlib.h)可以為隨機(jī)數(shù)生成器播散種子。只要種子不同rand()函數(shù)就會(huì)產(chǎn)生不同的隨機(jī)數(shù)序列。srand()稱為隨機(jī)數(shù)生成器的初始化器。
隨機(jī)數(shù)函數(shù):int rand();使用:int value = rand();value 將被隨機(jī)的賦一個(gè)值,但是這樣編譯以后,每次的運(yùn)行結(jié)果實(shí)際上是一樣的,也就是同一個(gè)隨機(jī)數(shù)。
首先,打開(kāi)C語(yǔ)言編譯器,新建一個(gè)初始.cpp文件,例如:test.cpp。
rand()函數(shù),一般根srand()函數(shù)一起用。它們?cè)谝黄穑饔檬牵寒a(chǎn)生一個(gè)隨機(jī)數(shù)。通常格式為:srand ( (unsigned) time (NULL) );a=rand()%x; //a,x,均為整型變量,其中,x在之前應(yīng)被賦值。
1、C語(yǔ)言隨機(jī)函數(shù)主要用于實(shí)現(xiàn)一組隨機(jī)數(shù)的生成。
2、rand()函數(shù)用來(lái)產(chǎn)生隨機(jī)數(shù),但是,rand()的內(nèi)部實(shí)現(xiàn)是用線性同余法實(shí)現(xiàn)的,是偽隨機(jī)數(shù),由于周期較長(zhǎng),因此在一定范圍內(nèi)可以看成是隨機(jī)的。rand()會(huì)返回一個(gè)范圍在0到RAND_MAX(至少是32767)之間的偽隨機(jī)數(shù)(整數(shù))。
3、為了使rand的結(jié)果更“真”一些,也就是令其返回值更具有隨機(jī)性(不確定性),C語(yǔ)言在stdlib.h中還提供了srand函數(shù),通過(guò)該函數(shù)可以設(shè)置一個(gè)隨機(jī)數(shù)種子,一般用當(dāng)前時(shí)間的毫秒數(shù)來(lái)做參數(shù)。
4、C語(yǔ)言/C++怎樣產(chǎn)生隨機(jī)數(shù):這里要用到的是rand()函數(shù), srand()函數(shù),C語(yǔ)言/C++里沒(méi)有自帶的random(int number)函數(shù)。
1、srand函數(shù)是隨機(jī)數(shù)發(fā)生器的初始化函數(shù)。 原型:void srand(unsigned seed); 用法:它需要提供一個(gè)種子,這個(gè)種子會(huì)對(duì)應(yīng)一個(gè)隨機(jī)數(shù),如果使用相同的種子后面的rand()函數(shù)會(huì)出現(xiàn)一樣的隨機(jī)數(shù)。如: srand(1); 直接使用1來(lái)初始化種子。
2、代碼里的srand(time(0))的意思是:用當(dāng)前時(shí)間來(lái)設(shè)定rand函數(shù)所用的隨機(jī)數(shù)產(chǎn)生演算法的種子值。其中,time(time_t *t); 是C標(biāo)準(zhǔn)庫(kù)函數(shù),如果t是空指針,直接返回當(dāng)前時(shí)間。
3、Srand是種下隨機(jī)種子數(shù),你每回種下的種子不一樣,用Rand得到的隨機(jī)數(shù)就不一樣。為了每回種下一個(gè)不一樣的種子,所以就選用Time(0),Time(0)是得到當(dāng)前時(shí)時(shí)間值(因?yàn)槊繒r(shí)每刻時(shí)間是不一樣的了)。
4、是使用系統(tǒng)當(dāng)前時(shí)間的值,重置隨機(jī)函數(shù)的種子。這樣每次運(yùn)行時(shí),獲取的隨機(jī)數(shù)序列就不同。其中 time(0) 是獲取系統(tǒng)時(shí)間的函數(shù),返回自1970年初某個(gè)時(shí)間以來(lái)的毫秒數(shù)。
rand()函數(shù),一般根srand()函數(shù)一起用。它們?cè)谝黄穑饔檬牵寒a(chǎn)生一個(gè)隨機(jī)數(shù)。通常格式為:srand ( (unsigned) time (NULL) );a=rand()%x; //a,x,均為整型變量,其中,x在之前應(yīng)被賦值。
在標(biāo)準(zhǔn)的C庫(kù)中函數(shù)rand()可以生成0~RAND_MAX之間的一個(gè)隨機(jī)數(shù),其中RAND_MAX 是stdlib.h 中定義的一個(gè)整數(shù),它與系統(tǒng)有關(guān)。
srand()函數(shù)需要的頭文件仍然是:stdlib.h srand()函數(shù)原型:void srand (usigned int seed);srand()用來(lái)設(shè)置rand()產(chǎn)生隨機(jī)數(shù)時(shí)的隨機(jī)數(shù)種子。參數(shù)seed是整數(shù),通常可以利用time(0)或getpid(0)的返回值作為seed。
首先,打開(kāi)C語(yǔ)言編譯器,新建一個(gè)初始.cpp文件,例如:test.cpp。
先用srand函數(shù)設(shè)置一個(gè)種子,一般為當(dāng)前時(shí)間,然后使用rand函數(shù)產(chǎn)生隨機(jī)數(shù),如產(chǎn)生a~b的隨機(jī)數(shù)使用表達(dá)式rand()%(b-a+1)+a。注意:srand函數(shù)在頭文件#include stdlib.h中。
當(dāng)前題目:srand函數(shù)c語(yǔ)言 c++srand函數(shù)怎么用
分享路徑:http://chinadenli.net/article8/diocoop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、外貿(mào)網(wǎng)站建設(shè)、虛擬主機(jī)、品牌網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容