這個(gè)初始的值就是隨機(jī)數(shù)種子, 也就是說,如果隨機(jī)數(shù)種子相同,計(jì)算出的隨機(jī)數(shù)數(shù)列是相同的。而srandom( x) 這個(gè)函數(shù)就是初始化隨機(jī)數(shù)產(chǎn)生器,設(shè)定隨機(jī)數(shù)種子用的。給定的x的就是隨機(jī)數(shù)種子。
創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),咸寧網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:咸寧等地區(qū)。咸寧做網(wǎng)站價(jià)格咨詢:028-86922220
C語言中,設(shè)置隨機(jī)數(shù)種子需要包含頭文件stdlib.h,利用系統(tǒng)時(shí)間需要包含頭文件time.h。
是【種子值】吧?這個(gè)一般是針對(duì)函數(shù)來說的,假設(shè)你寫了一個(gè)函數(shù),會(huì)根據(jù)某個(gè)值(可以假設(shè)為變量a)的不同而返回不同的結(jié)果或執(zhí)行不同的動(dòng)作,那么該值就是這個(gè)函數(shù)的種子值。舉個(gè)例子吧,srand函數(shù)和rand函數(shù)。
1、是【種子值】吧?這個(gè)一般是針對(duì)函數(shù)來說的,假設(shè)你寫了一個(gè)函數(shù),會(huì)根據(jù)某個(gè)值(可以假設(shè)為變量a)的不同而返回不同的結(jié)果或執(zhí)行不同的動(dòng)作,那么該值就是這個(gè)函數(shù)的種子值。舉個(gè)例子吧,srand函數(shù)和rand函數(shù)。
2、高級(jí)語言中帶的隨機(jī)數(shù)產(chǎn)生函數(shù)是偽隨機(jī)數(shù),偽隨機(jī)數(shù)的意思是并不是真正意義上的隨機(jī)數(shù),而是通過某種運(yùn)算或者在某種程度上產(chǎn)生隨機(jī)的效果。 由于計(jì)算機(jī)是一種圖靈機(jī),相同的輸入必定產(chǎn)生相同的輸出。
3、用 srand(time(0));設(shè)種子,就會(huì)因時(shí)間變化,得到不同的種子,那么隨機(jī)數(shù)序列就會(huì)變化。time(0)是當(dāng)前時(shí)間,(精度可能是毫秒)。只要兩次跑程序啟動(dòng)時(shí)間差別 超過1毫秒,兩個(gè)序列就不同了(隨機(jī))。
1、srand和rand()配合使用產(chǎn)生偽隨機(jī)數(shù)序列。rand函數(shù)在產(chǎn)生隨機(jī)數(shù)前,需要系統(tǒng)提供的生成偽隨機(jī)數(shù)序列的種子 (由srand函數(shù)提供),rand根據(jù)這個(gè)種子的值產(chǎn)生一系列隨機(jī)數(shù)。
2、rand()產(chǎn)生一個(gè)0~32767之間的偽隨機(jī)數(shù)。而srand(unsigned t)是為rand()產(chǎn)生偽隨機(jī)數(shù)下一個(gè)“種子”。
3、rand 隨機(jī)函數(shù)發(fā)生器 用法:int rand(void);用法?:void srand(unsigned seed);說明:rand使隨機(jī)數(shù)發(fā)生器產(chǎn)生一范圍從0~2的隨機(jī)數(shù)。發(fā)生器通過調(diào)用參數(shù)值為1的srand函數(shù)可重初始化,也可用給定的函數(shù)值。
4、RAND_MAX 是一個(gè)常量,它的默認(rèn)值在不同的實(shí)現(xiàn)中會(huì)有所不同,但是值至少是 32767。C 庫函數(shù) void srand(unsigned int seed) 播種由函數(shù) rand 使用的隨機(jī)數(shù)發(fā)生器。
5、rand()函數(shù),一般根srand()函數(shù)一起用。它們?cè)谝黄?,作用是:產(chǎn)生一個(gè)隨機(jī)數(shù)。通常格式為:srand ((unsigned)time (NULL));a=rand()%x;//a,x,均為整型變量,其中,x在之前應(yīng)被賦值。