1、偽隨機(jī)數(shù)。當(dāng)“種子”固定時(shí),它產(chǎn)生的隨機(jī)數(shù)序列是不變的,例如產(chǎn)生10個(gè)數(shù),這10個(gè)數(shù)大小是變化的,但只要用這個(gè)種子,每次產(chǎn)生的這10個(gè)數(shù)序列,是一模一樣的。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供柳江網(wǎng)站建設(shè)、柳江做網(wǎng)站、柳江網(wǎng)站設(shè)計(jì)、柳江網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、柳江企業(yè)網(wǎng)站模板建站服務(wù),十年柳江做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
2、c語言提供了一些庫函數(shù)來實(shí)現(xiàn)隨機(jī)數(shù)的產(chǎn)生。
3、“srand(time(NULL));”這條指令的意思是利用系統(tǒng)時(shí)間來初始化系統(tǒng)隨機(jī)數(shù)的種子值,使得每次運(yùn)行由于時(shí)間不同產(chǎn)生而產(chǎn)生不同的隨機(jī)數(shù)序列。srand函數(shù)是隨機(jī)數(shù)發(fā)生器的初始化函數(shù)。
4、個(gè)人理解:C語言常用的隨機(jī)數(shù)是以時(shí)間為隨機(jī)種子,時(shí)間變量是精確到毫秒的,也就是一千分之一秒,所以每次隨機(jī)時(shí)候的時(shí)間變量只有很小的概率相同,根據(jù)這個(gè)時(shí)間以一定的算法再算出你要得到的隨機(jī)數(shù)。
srand是用來設(shè)置隨機(jī)時(shí)間的種子,一般與rand()結(jié)合使用。否則直接用rand()的話,每次運(yùn)行程序的結(jié)果都相同。
函數(shù)定義:int rand(void)函數(shù)功能:產(chǎn)生一個(gè)隨機(jī)數(shù) 函數(shù)說明:rand函數(shù)產(chǎn)生的隨機(jī)數(shù)嚴(yán)格意義講不是真正的隨機(jī)數(shù),它里面采用了線性同余法計(jì)算出隨機(jī)數(shù),所謂的線性同語法簡(jiǎn)單來說就是使用了一個(gè)公式。
在標(biāo)準(zhǔn)的C庫中函數(shù)rand()可以生成0~RAND_MAX之間的一個(gè)隨機(jī)數(shù),其中RAND_MAX 是stdlib.h 中定義的一個(gè)整數(shù),它與系統(tǒng)有關(guān)。
在調(diào)用rand()函數(shù)之前,可以使用srand()函數(shù)設(shè)置隨機(jī)數(shù)種子,如果沒有設(shè)置隨機(jī)數(shù)種子,rand()函數(shù)在調(diào)用時(shí),自動(dòng)設(shè)計(jì)隨機(jī)數(shù)種子為1。隨機(jī)種子相同,每次產(chǎn)生的隨機(jī)數(shù)也會(huì)相同。
srand(unsigned seed)通過參數(shù)seed改變系統(tǒng)提供的種子值,從而可以使得每次調(diào)用rand函數(shù)生成的偽隨機(jī)數(shù)序列不同,從而實(shí)現(xiàn)真正意義上的“隨機(jī)”。
srand()函數(shù)是C語言中產(chǎn)生隨機(jī)數(shù)的一個(gè)函數(shù)。
srand()函數(shù)需要的頭文件仍然是:stdlib.h srand()函數(shù)原型:void srand (usigned int seed);srand()用來設(shè)置rand()產(chǎn)生隨機(jī)數(shù)時(shí)的隨機(jī)數(shù)種子。參數(shù)seed是整數(shù),通常可以利用time(0)或getpid(0)的返回值作為seed。
而srandom( x) 這個(gè)函數(shù)就是初始化隨機(jī)數(shù)產(chǎn)生器,設(shè)定隨機(jī)數(shù)種子用的。給定的x的就是隨機(jī)數(shù)種子。可以驗(yàn)證,當(dāng)你多次調(diào)用srandm(x)時(shí),如果x取值相同,則得到的隨機(jī)數(shù)數(shù)列是一樣的。
這段程序?qū)崿F(xiàn)是產(chǎn)生十個(gè)隨機(jī)數(shù),srand函數(shù)是輸入系統(tǒng)隨機(jī)種子,程序一般都是采用時(shí)間作為隨機(jī)種子。
用法: void srand(unsigned int seed)所在頭文件: stdlib.h srand()用來設(shè)置rand()產(chǎn)生隨機(jī)數(shù)時(shí)的隨機(jī)數(shù)種子。參數(shù)seed必須是個(gè)整數(shù),如果每次seed都設(shè)相同值,rand()所產(chǎn)生的隨機(jī)數(shù)值每次就會(huì)一樣。
1、因?yàn)閞and的內(nèi)部實(shí)現(xiàn)是用線性同余法做的,他不是真的隨機(jī)數(shù),只不過是因?yàn)槠渲芷谔貏e長(zhǎng),所以有一定的范圍里可看成是隨機(jī)的,rand()會(huì)返回一隨機(jī)數(shù)值,范圍在0至RAND_MAX 間。
2、srand((int)time(NULL))用于設(shè)定隨機(jī)數(shù)種子。 rand()%100,產(chǎn)生0-99的隨機(jī)數(shù)。如果要產(chǎn)生16-59之間的數(shù),可以這樣寫:rand()%44+16(這里44由59-16+1得到)。其他情況與此雷同。
3、調(diào)用srand(time(NULL))設(shè)置隨機(jī)數(shù)種子。2 調(diào)用rand函數(shù)獲取一個(gè)或一系列隨機(jī)數(shù)。需要注意的是,srand只需要在所有rand調(diào)用前,被調(diào)用一次即可,沒必要調(diào)用多次。以下是隨機(jī)獲取10個(gè)整型值并輸出的例子,輔助理解。
4、rand()會(huì)返回一隨機(jī)數(shù)值,范圍在0至RAND_MAX 間。在調(diào)用此函數(shù)產(chǎn)生隨機(jī)數(shù)前,必須先利用srand()設(shè)好隨機(jī)數(shù)種子,如果未設(shè)隨機(jī)數(shù)種子,rand()在調(diào)用時(shí)會(huì)自動(dòng)設(shè)隨機(jī)數(shù)種子為1。關(guān)于隨機(jī)數(shù)種子請(qǐng)參考srand()。
5、rand()是C語言中產(chǎn)生隨機(jī)數(shù)的一個(gè)函數(shù),但是需要注意的是,產(chǎn)生的是偽隨機(jī)數(shù)。
6、rand()函數(shù)產(chǎn)生隨機(jī)數(shù)的原理···不清楚。但是他是一個(gè)#includestdlib.h 里的函數(shù)。他的范圍是0-RAND_MAX...這個(gè)值不小于32767(這是ANSI標(biāo)準(zhǔn)規(guī)定的)提到這個(gè),順便幫樓主提一下。這個(gè)是偽隨機(jī)數(shù)。
1、srand(time(NULL)):這是兩個(gè)函數(shù),一個(gè)是srand函數(shù),這是在調(diào)用rand()這個(gè)函數(shù)之前使用的,rand()是一個(gè)產(chǎn)生隨機(jī)數(shù)的函數(shù),而srand是一個(gè)設(shè)置隨機(jī)數(shù)種子的函數(shù),通常這兩個(gè)函數(shù)是一起使用的,來完成產(chǎn)生隨機(jī)數(shù)的功能。
2、srand()函數(shù)用來設(shè)置算法的種子,time(NULL)返回當(dāng)前的時(shí)間,先調(diào)用srand(time(NULL))是把當(dāng)前的時(shí)間作為種子,是程序每次運(yùn)行產(chǎn)生不同的隨機(jī)數(shù)序列。
3、而c/c++庫中的srand就是為這一次的隨機(jī)數(shù)生成設(shè)置種子。s代表的就是seed的意思。time_t time(time_t time);該函數(shù)返回自計(jì)算機(jī)計(jì)時(shí)的某個(gè)時(shí)刻起到現(xiàn)在所過去的秒數(shù)。
4、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ù)。
新聞標(biāo)題:c語言srand函數(shù)作用 c語言中srand函數(shù)用什么頭文件
文章起源:http://chinadenli.net/article48/diosdep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、自適應(yīng)網(wǎng)站、商城網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、云服務(wù)器、電子商務(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í)需注明來源: 創(chuàng)新互聯(lián)