欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語(yǔ)言隨機(jī)函數(shù)知識(shí) c語(yǔ)言隨機(jī)數(shù)

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

要用srand()函數(shù)設(shè)置一個(gè)隨機(jī)數(shù)種子

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到和布克賽爾蒙古網(wǎng)站設(shè)計(jì)與和布克賽爾蒙古網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋和布克賽爾蒙古地區(qū)。

例1:

#include stdlib.h

#include iostream

#include time.h

using namespace std;

int main()

{

srand( (unsigned)time( NULL ) ); // 隨機(jī)數(shù)種子產(chǎn)生

int i=rand()%100-1; // 產(chǎn)生100以內(nèi)的隨機(jī)數(shù)并賦給i

coutiendl;

getchar();

return 0;

}

例2:

#include stdio.h

#include stdlib.h

main()

{

int seed=1000; // 種子

int i;

int m[16] ;

int nn=0;

double r;

printf("enter seed please\n");

scanf("%d",seed);

srand(seed); // 初始化隨機(jī)數(shù)生成器

for (i=0;i=15;i++) m[i] = 0;

while (nn 10 ){

// r 是雙精度浮點(diǎn)隨機(jī)數(shù),范圍0.0到1.0

r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );

i =(int) ( r * 15.0);

if (m[i] == 0) {

m[i] = 1; nn = nn + 1;

printf("%d ",i);

};

}

}

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ǔ)言隨機(jī)函數(shù)

srand( (unsigned)time( NULL ) );

這一句放在for的前面,如下:

#include stdlib.h

#include stdio.h

#include time.h

void main( void )

{

int i,k;

srand( (unsigned)time( NULL ) );

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

{

k=rand()%100+1;

printf( " k=%d\n", k );

}

}

srand(...)用來(lái)獲取種子,

因?yàn)橄旅嫒?/p>

srand( (unsigned)time( NULL ) );

k=rand()%100+1;

printf( " k=%d\n", k );

的運(yùn)行時(shí)間很短,短到不到1/5秒,而你每次for循環(huán)中都取了相同的種子,導(dǎo)致輸出相同的隨機(jī)數(shù).

隨機(jī)函數(shù)rand怎么用c語(yǔ)言

一、首先包含必要的頭文件

#includestdio.h

這個(gè)包含用于輸入輸出的函數(shù)。

#includestdlib.h

這個(gè)包含初始化隨機(jī)數(shù)種子、產(chǎn)生隨機(jī)數(shù)的函數(shù)。

#includetime.h

這個(gè)包含與時(shí)間有關(guān)的函數(shù),初始化隨機(jī)數(shù)種子時(shí)可以用到。

二、使用如下公式產(chǎn)生在區(qū)間[min,max]之間的隨機(jī)數(shù)

int r=rand()%(max-min+1)+min;

三、一個(gè)例子,產(chǎn)生10個(gè)[1,100]的隨機(jī)整數(shù)

#include stdio.h

#include stdlib.h

#include time.h

int main()

{

const int min=1,max=100;

int i,r;

//用當(dāng)前時(shí)間初始化隨機(jī)數(shù)種子

srand(time(NULL));

printf("隨機(jī)產(chǎn)生的10個(gè)1-100的整數(shù)是:");

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

{

r=rand()%(max-min+1)+min;

printf("%d,",r);

}

return 0;

}

四、運(yùn)行結(jié)果的截圖

截圖1

截圖2

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

首先一樓代碼是可以的,只是num

=

rand()%10的10后漏了個(gè)0;

詳細(xì)回答你的疑惑:

1、你要用的隨機(jī)函數(shù)rand是包含在庫(kù)文件stdib.h中,如果不引用#include當(dāng)然出錯(cuò)!:

error

C2065:

'rand'

:

undeclared

identifier

2、rand是個(gè)偽隨機(jī)函數(shù),如果不用srand每一次運(yùn)行程序產(chǎn)生的隨機(jī)數(shù)一樣的,

因此使用一個(gè)時(shí)間種子函數(shù)srand,它的參數(shù)是電腦的系統(tǒng)時(shí)間,該函數(shù)包含在庫(kù)文件time.h中,這樣由于每次運(yùn)行程序的時(shí)間不同,種子不同,生成的隨機(jī)數(shù)也不同,更接近真正的隨機(jī)數(shù)。

希望能幫到你!

c語(yǔ)言隨機(jī)數(shù)函數(shù)是什么?

c語(yǔ)言隨機(jī)數(shù)函數(shù)是 rand()

若要輸出1~10之間的隨機(jī)數(shù),

可用rand()%10+1。

標(biāo)題名稱:c語(yǔ)言隨機(jī)函數(shù)知識(shí) c語(yǔ)言隨機(jī)數(shù)
文章鏈接:http://chinadenli.net/article44/hpehee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷動(dòng)態(tài)網(wǎng)站、外貿(mào)建站定制網(wǎng)站、Google、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司