這篇文章給大家介紹C++中rand與srand如何使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
10年積累的成都網(wǎng)站建設(shè)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有禹城免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。我們知道rand()函數(shù)可以用來(lái)產(chǎn)生隨機(jī)數(shù),但是這不是真正意義上的隨機(jī)數(shù),是一個(gè)偽隨機(jī)數(shù),是根據(jù)一個(gè)數(shù)(我們可以稱它為種子)為基準(zhǔn)以某個(gè)遞推公式推算出來(lái)的一系列數(shù),當(dāng)這系列數(shù)很大的時(shí)候,就符合正態(tài)公布,從而相當(dāng)于產(chǎn)生了隨機(jī)數(shù),但這不是真正的隨機(jī)數(shù),當(dāng)計(jì)算機(jī)正常開(kāi)機(jī)后,這個(gè)種子的值是定了的,除非你破壞了系統(tǒng)。
1.rand()
功能:
隨機(jī)數(shù)發(fā)生器
用法:
intrand(void)
所在頭文件:
stdlib.h
rand()的內(nèi)部實(shí)現(xiàn)是用線性同余法做的,它不是真的隨機(jī)數(shù),因其周期特別長(zhǎng),故在一定的范圍里可看成是隨機(jī)的。
rand()返回一隨機(jī)數(shù)值的范圍在0至RAND_MAX間。RAND_MAX的范圍最少是在32767之間(int)。用unsignedint雙字節(jié)是65535,四字節(jié)是4294967295的整數(shù)范圍。0~RAND_MAX每個(gè)數(shù)字被選中的機(jī)率是相同的。
用戶未設(shè)定隨機(jī)數(shù)種子時(shí),系統(tǒng)默認(rèn)的隨機(jī)數(shù)種子為1。
rand()產(chǎn)生的是偽隨機(jī)數(shù)字,每次執(zhí)行時(shí)是相同的;若要不同,用函數(shù)srand()初始化它。
2.srand()
功能:
初始化隨機(jī)數(shù)發(fā)生器
用法:
voidsrand(unsignedintseed)
所在頭文件:
stdlib.h
srand()用來(lái)設(shè)置rand()產(chǎn)生隨機(jī)數(shù)時(shí)的隨機(jī)數(shù)種子。參數(shù)seed必須是個(gè)整數(shù),如果每次seed都設(shè)相同值,rand()所產(chǎn)生的隨機(jī)數(shù)值每次就會(huì)一樣。
3.使用當(dāng)前時(shí)鐘作為隨機(jī)數(shù)種子
rand()產(chǎn)生的隨機(jī)數(shù)在每次運(yùn)行的時(shí)候都是與上一次相同的。若要不同,用函數(shù)srand()初始化它??梢岳胹rand((unsignedint)(time(NULL))的方法,產(chǎn)生不同的隨機(jī)數(shù)種子,因?yàn)槊恳淮芜\(yùn)行程序的時(shí)間是不同的。
4.產(chǎn)生隨機(jī)數(shù)的用法
1)給srand()提供一個(gè)種子,它是一個(gè)unsignedint類型;
2)調(diào)用rand(),它會(huì)根據(jù)提供給srand()的種子值返回一個(gè)隨機(jī)數(shù)(在0到RAND_MAX之間);
3)根據(jù)需要多次調(diào)用rand(),從而不間斷地得到新的隨機(jī)數(shù);
4)無(wú)論什么時(shí)候,都可以給srand()提供一個(gè)新的種子,從而進(jìn)一步"隨機(jī)化"rand()的輸出結(jié)果。
0~RAND_MAX之間的隨機(jī)數(shù)程序
#include
#include
#include
usingnamespacestd;
intmain()
{
srand((unsigned)time(NULL));
for(inti=0;i<10;i++)
cout< 關(guān)于C++中rand與srand如何使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
文章名稱:C++中rand與srand如何使用-創(chuàng)新互聯(lián)
地址分享:http://weahome.cn/article/dgciee.html