srand()函數(shù)原型:void srand (usigned int seed);srand()用來設(shè)置rand()產(chǎn)生隨機(jī)數(shù)時的隨機(jī)數(shù)種子。參數(shù)seed是整數(shù),通??梢岳胻ime(0)或getpid(0)的返回值作為seed。
目前創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、彭水苗族土家族網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
首先包含必要的頭文件 includestdio.h 這個包含用于輸入輸出的函數(shù)。includestdlib.h 這個包含初始化隨機(jī)數(shù)種子、產(chǎn)生隨機(jī)數(shù)的函數(shù)。include 這個包含與時間有關(guān)的函數(shù),初始化隨機(jī)數(shù)種子時可以用到。
隨機(jī)數(shù)函數(shù):int rand();使用:int value = rand();value 將被隨機(jī)的賦一個值,但是這樣編譯以后,每次的運行結(jié)果實際上是一樣的,也就是同一個隨機(jī)數(shù)。
1、請使用C庫函數(shù)srand()來設(shè)定隨機(jī)數(shù)種子,其原型為:void srand(unsigned int seed );其中seed就是設(shè)定的隨機(jī)數(shù)種子。
2、includestdlib.h 這個包含初始化隨機(jī)數(shù)種子、產(chǎn)生隨機(jī)數(shù)的函數(shù)。include 這個包含與時間有關(guān)的函數(shù),初始化隨機(jī)數(shù)種子時可以用到。
3、先用srand函數(shù)設(shè)置一個種子,一般為當(dāng)前時間,然后使用rand函數(shù)產(chǎn)生隨機(jī)數(shù),如產(chǎn)生a~b的隨機(jī)數(shù)使用表達(dá)式rand()%(b-a+1)+a。注意:srand函數(shù)在頭文件#include stdlib.h中。
4、srand(設(shè)置隨機(jī)數(shù)種子)表頭文件:#includestdlib.h 定義函數(shù):void srand (unsigned int seed);函數(shù)說明:srand()用來設(shè)置rand()產(chǎn)生隨機(jī)數(shù)時的隨機(jī)數(shù)種子。
5、C語言提供了一些庫函數(shù)來實現(xiàn)隨機(jī)數(shù)的產(chǎn)生。
通過srand函數(shù),可以讓這個偽隨機(jī)數(shù)更“真”一些,它的原理是設(shè)置一個隨機(jī)數(shù)種子,然后后續(xù)的隨機(jī)數(shù)依賴于種子值。
c語言提供了一些庫函數(shù)來實現(xiàn)隨機(jī)數(shù)的產(chǎn)生。
“srand(time(NULL));”這條指令的意思是利用系統(tǒng)時間來初始化系統(tǒng)隨機(jī)數(shù)的種子值,使得每次運行由于時間不同產(chǎn)生而產(chǎn)生不同的隨機(jī)數(shù)序列。srand函數(shù)是隨機(jī)數(shù)發(fā)生器的初始化函數(shù)。
個人理解:C語言常用的隨機(jī)數(shù)是以時間為隨機(jī)種子,時間變量是精確到毫秒的,也就是一千分之一秒,所以每次隨機(jī)時候的時間變量只有很小的概率相同,根據(jù)這個時間以一定的算法再算出你要得到的隨機(jī)數(shù)。
time(NULL));printf(請輸入產(chǎn)生的隨機(jī)數(shù)的數(shù)量:);scanf(%d,&n);while(n=0){ printf(%d,rand());n--;} system(pause);} 隨機(jī)數(shù)需要一個種子,默認(rèn)的種子是確定的,使用時間做種子每次都不一樣。