真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言隨機(jī)數(shù)函數(shù)文件 c語(yǔ)言產(chǎn)生隨機(jī)數(shù)函數(shù)

C語(yǔ)言如何編程產(chǎn)生隨機(jī)數(shù)

樓主你好!

成都創(chuàng)新互聯(lián)公司主營(yíng)閔行網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開(kāi)發(fā),閔行h5成都小程序開(kāi)發(fā)搭建,閔行網(wǎng)站營(yíng)銷推廣歡迎閔行等地區(qū)企業(yè)咨詢

很高興回答你的問(wèn)題!

#includestdio.h

#includewindows.h

#includetime.h

#includestdlib.h

int main()

{

int num;

srand((unsigned)time(NULL));

num = rand()%100+1;

printf("%d\n",num);

return 0;

}

上面的是參數(shù)一個(gè)1到100之間的隨機(jī)數(shù)的例子!主要用到rand()函數(shù),它能夠隨機(jī)參數(shù)一個(gè)0到unsigned int的最大值之間的一個(gè)隨機(jī)數(shù),我們可以通過(guò)%控制隨機(jī)數(shù)參數(shù)的范圍!在使用rand()需要調(diào)用srand()種子器,不然你每次得到都是同一個(gè)數(shù)!具體用法可以去網(wǎng)上查查!

希望我的回答對(duì)你有幫助!

望采納!謝謝!

C語(yǔ)言中取隨機(jī)數(shù)的函數(shù)

1. 基本函數(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

2. 使用方法

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é)果一樣。

舉個(gè)例子,假設(shè)我們要取得0~10之間的隨機(jī)整數(shù)(不含10本身):

 /* 例1:不指定種子的值 */

 for (int i=0; i10; i++) { printf("%d ", rand()%10); }

  每次運(yùn)行都將輸出:1 7 4 0 9 4 8 8 2 4

 /* 例2:指定種子的值為1 */

 srand(1); for (int i=0; i10; i++) { printf("%d ", rand()%10); }

  每次運(yùn)行都將輸出:1 7 4 0 9 4 8 8 2 4

  例2的輸出結(jié)果與例1是完全一樣的。

 /* 例3:指定種子的值為8 */ srand(8); for (int i=0; i10; i++) { printf("%d ", rand()%10); }

  每次運(yùn)行都將輸出:4 0 1 3 5 3 7 7 1 5

  該程序取得的隨機(jī)值也是在[0,10)之間,與srand(1)所取得的值不同,但是每次運(yùn)行程序的結(jié)果都相同。

 /* 例4:指定種子值為現(xiàn)在的時(shí)間 */ srand((unsigned)time(NULL)); for (int i=0; i10; i++) { printf("%d ", rand()%10); }

  該程序每次運(yùn)行結(jié)果都不一樣,因?yàn)槊看螁?dòng)程序的時(shí)間都不同。另外需要注意的是,使用time()函數(shù)前必須包含頭文件time.h。

 3. 注意事項(xiàng)

求一定范圍內(nèi)的隨機(jī)數(shù)。

  如要取[0,10)之間的隨機(jī)整數(shù),需將rand()的返回值與10求模。

 randnumber = rand() % 10;

  那么,如果取的值不是從0開(kāi)始呢?你只需要記住一個(gè)通用的公式。

  要取[a,b)之間的隨機(jī)整數(shù)(包括a,但不包括b),使用:

  (rand() % (b - a)) + a

偽隨機(jī)浮點(diǎn)數(shù)。

  要取得0~1之間的浮點(diǎn)數(shù),可以用:

  rand() / (double)(RAND_MAX)

  如果想取更大范圍的隨機(jī)浮點(diǎn)數(shù),比如0~100,可以采用如下方法:

  rand() /((double)(RAND_MAX)/100) 其他情況,以此類推,這里不作詳細(xì)說(shuō)明。

C語(yǔ)言中產(chǎn)生隨機(jī)數(shù)的函數(shù)是什么?

c語(yǔ)言中產(chǎn)生隨機(jī)數(shù)的相關(guān)函數(shù)主要包括srand和rand函數(shù),兩者配合生成隨機(jī)數(shù)據(jù),測(cè)試代碼如下,

#includestdio.h

#include stdlib.h

#include time.h

void main()

{

int i=0,j=0;

int p[5][5]={0};

srand(time(NULL));

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

for(j=0;j5;j++)

p[i][j]=rand()%100+1;//產(chǎn)生1-100的隨機(jī)數(shù)存入數(shù)組p中

printf("二維數(shù)組p為:\n");

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

{

for(j=0;j5;j++)

printf("%d\t",p[i][j]);

printf("\n");

}

}

一般srand和rand配合使用產(chǎn)生偽隨機(jī)數(shù)序列。rand函數(shù)在產(chǎn)生隨機(jī)數(shù)前,需要系統(tǒng)提供的生成偽隨機(jī)數(shù)序列的種子,rand根據(jù)這個(gè)種子的值產(chǎn)生一系列隨機(jī)數(shù)。如果系統(tǒng)提供的種子沒(méi)有變化,每次調(diào)用rand函數(shù)生成的偽隨機(jī)數(shù)序列都是一樣的。srand(unsigned seed)通過(guò)參數(shù)seed改變系統(tǒng)提供的種子值,從而可以使得每次調(diào)用rand函數(shù)生成的偽隨機(jī)數(shù)序列不同,從而實(shí)現(xiàn)真正意義上的“隨機(jī)”。通常可以利用系統(tǒng)時(shí)間來(lái)改變系統(tǒng)的種子值,即srand(time(NULL)),可以為rand函數(shù)提供不同的種子值,進(jìn)而產(chǎn)生不同的隨機(jī)數(shù)序列。


網(wǎng)站標(biāo)題:c語(yǔ)言隨機(jī)數(shù)函數(shù)文件 c語(yǔ)言產(chǎn)生隨機(jī)數(shù)函數(shù)
URL標(biāo)題:http://weahome.cn/article/hgjhjp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部