日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
c語(yǔ)言隨機(jī)函數(shù)時(shí)間種子,c語(yǔ)言時(shí)間函數(shù)隨機(jī)數(shù)

C語(yǔ)言問(wèn)題,怎樣利用系統(tǒng)時(shí)間作為隨機(jī)數(shù)的種子?

C語(yǔ)言中,設(shè)置隨機(jī)數(shù)種子需要包含頭文件stdlib.h,利用系統(tǒng)時(shí)間需要包含頭文件time.h。

成都創(chuàng)新互聯(lián)自2013年起,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元芷江做網(wǎng)站,已為上家服務(wù),為芷江各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):18982081108

設(shè)置隨機(jī)數(shù)種子的函數(shù)原型為:void?srand(unsigned int seed);

利用系統(tǒng)時(shí)間作為隨機(jī)數(shù)的種子代碼如下:

#include?stdlib.h

#include?time.h

int?main(){

srand((unsigned)time(NULL));?//?利用系統(tǒng)時(shí)間作為隨機(jī)數(shù)的種子

return?0;

}

C語(yǔ)言中產(chǎn)生隨機(jī)數(shù)利用到時(shí)間種子,什么原理?謝謝啦。

在C語(yǔ)言中取隨機(jī)數(shù)所需要的函數(shù)是:

int rand(void);

void srand (unsigned int n);

rand()函數(shù)和srand()函數(shù)被聲明在頭文件stdlib.h中,所以要使用這兩個(gè)函數(shù)必須包含該頭文件:

#include stdlib.h

rand()函數(shù)返回0到RAND_MAX之間的偽隨機(jī)數(shù)(pseudorandom)。RAND_MAX常量被定義在stdlib.h頭文件中。其值等于32767,或者更大。

srand()函數(shù)使用自變量n作為種子,用來(lái)初始化隨機(jī)數(shù)產(chǎn)生器。只要把相同的種子傳入srand(),然后調(diào)用rand()時(shí),就會(huì)產(chǎn)生相同的隨機(jī)數(shù)序列。因此,我們可以把時(shí)間作為srand()函數(shù)的種子,就可以避免重復(fù)的發(fā)生。如果,調(diào)用rand()之前沒(méi)有先調(diào)用srand(),就和事先調(diào)用srand(1)所產(chǎn)生的結(jié)果一樣。

c語(yǔ)言的隨機(jī)函數(shù)怎樣用?、

#include stdlib.h

#include time.h

int main( )

{

int a[100]; /* 存放隨機(jī)數(shù)的數(shù)組 */

time_t t1; /* 用于存放時(shí)間 */

time(t1); /* 取得當(dāng)前系統(tǒng)時(shí)間 */

srand(t1); /* 設(shè)置隨機(jī)數(shù)種子 */

for (i = 0; i 100; i ++) /* 循環(huán)生成10個(gè)隨機(jī)數(shù),放到數(shù)組a中 */

a[i] = 10 + rand( ) % 90;

/* 數(shù)值范圍在10到99間,需要不同范圍的數(shù)據(jù)請(qǐng)自行更改 */

...

}

c語(yǔ)言中語(yǔ)句srand(time(NULL))什么意思。

c語(yǔ)言中 srand(time(NULL)); 的意思是:使用當(dāng)前時(shí)間進(jìn)行隨機(jī)數(shù)發(fā)生器的初始化。

time_t time(time_t *t); 是C標(biāo)準(zhǔn)庫(kù)函數(shù),如果t是空指針(NULL),直接返回當(dāng)前時(shí)間。如果t不是空指針,返回當(dāng)前時(shí)間的同時(shí),將返回值賦予t指向的內(nèi)存空間。time() 是指返回自 Unix 紀(jì)元起的當(dāng)前時(shí)間的秒數(shù)的函數(shù),主要用來(lái)獲取當(dāng)前的系統(tǒng)時(shí)間,返回的結(jié)果是一個(gè)time_t類(lèi)型。

srand函數(shù)是隨機(jī)數(shù)發(fā)生器的初始化函數(shù)。原型:void srand(unsigned int seed); srand和rand()配合使用產(chǎn)生偽隨機(jī)數(shù)序列。

擴(kuò)展資料:

srand函數(shù)的相關(guān)信息:

1、語(yǔ)法:void srand (unsigned seed);

2、參數(shù)說(shuō)明:unsigned seed:隨機(jī)數(shù)產(chǎn)生器的初始值(種子值)。

3、功能說(shuō)明:srand設(shè)置產(chǎn)生一系列偽隨機(jī)數(shù)發(fā)生器的起始點(diǎn),要想把發(fā)生器重新初始化,可用1作seed值。任何共它的值都把發(fā)生器匿成一個(gè)隨機(jī)的起始點(diǎn)。rand檢索生成的偽隨機(jī)數(shù)。在任何調(diào)用srand之前調(diào)用rand與以1作為seed調(diào)用srand產(chǎn)生相同的序列。

此函數(shù)可以設(shè)定rand函數(shù)所用的隨機(jī)數(shù)產(chǎn)生演算法的種子值。任何大于一的種子值都會(huì)將rand隨機(jī)數(shù)所產(chǎn)生的虛擬隨機(jī)數(shù)序列重新設(shè)定一個(gè)起始點(diǎn)。

4、包含文件:stdlib. h

5、返回值:無(wú)

參考資料來(lái)源:百度百科-time()

參考資料來(lái)源:百度百科-srand

srand(time(0));//設(shè)置時(shí)間種子是什么意思(是c語(yǔ)言中的)

計(jì)算機(jī)產(chǎn)生的隨機(jī)數(shù)并不是真正隨機(jī)的,所以叫

偽隨機(jī)數(shù)。

當(dāng)“種子”固定時(shí),它產(chǎn)生的隨機(jī)數(shù)序列是不變的,例如產(chǎn)生10個(gè)數(shù),這10個(gè)數(shù)大小是變化的,但只要用這個(gè)種子,每次產(chǎn)生的這10個(gè)數(shù)序列,是一模一樣的。

srand(time(0));

設(shè)種子,就會(huì)因時(shí)間變化,得到不同的種子,那么隨機(jī)數(shù)序列就會(huì)變化。

time(0)

是當(dāng)前時(shí)間,(精度可能是毫秒)。只要兩次跑程序啟動(dòng)時(shí)間差別

超過(guò)1毫秒,兩個(gè)序列就不同了(隨機(jī))。如果,時(shí)間差別不到1毫秒,兩個(gè)序列就沒(méi)變化。

--------

錯(cuò)誤的程序:

for

(i=0;i5;i++){

srand(time(0));

//

5次的種子若不變

printf("%d

",rand());

//

依次取

5個(gè)序列的

第一個(gè)數(shù)

}

5個(gè)數(shù)不變化。

-------------------

正確的程序:

srand(time(0));

//

設(shè)1次種子

for

(i=0;i5;i++){

printf("%d

",rand());

//依次取1個(gè)序列的第1到第5個(gè)隨機(jī)數(shù)

}

5個(gè)數(shù)變化


本文標(biāo)題:c語(yǔ)言隨機(jī)函數(shù)時(shí)間種子,c語(yǔ)言時(shí)間函數(shù)隨機(jī)數(shù)
分享鏈接:http://www.dlmjj.cn/article/hsgcde.html