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

c語言中的隨機函數(shù)編程,c語言中的隨機函數(shù)編程是什么

C語言的,隨機函數(shù)

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

“專業(yè)、務實、高效、創(chuàng)新、把客戶的事當成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 創(chuàng)新互聯(lián)是您可以信賴的網站建設服務商、專業(yè)的互聯(lián)網服務提供商! 專注于網站建設、成都網站設計、軟件開發(fā)、設計服務業(yè)務。我們始終堅持以客戶需求為導向,結合用戶體驗與視覺傳達,提供有針對性的項目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領市場!

例1:

#include stdlib.h

#include iostream

#include time.h

using namespace std;

int main()

{

srand( (unsigned)time( NULL ) ); // 隨機數(shù)種子產生

int i=rand()%100-1; // 產生100以內的隨機數(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); // 初始化隨機數(shù)生成器

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

while (nn 10 ){

// r 是雙精度浮點隨機數(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語言隨機函數(shù)怎么弄

C++的隨機函數(shù)

C++/c語言里,是沒有辦法得到一個真正的隨機數(shù)序列的.想要等到一個真正的隨機數(shù)序列,必須使用特定的隨機數(shù)硬件發(fā)生器.也就是說,軟件是沒有辦法產生真正的隨機數(shù).因為軟件必須按照一定的邏輯來編寫.既然是按照特定的邏輯(也就是說算法)來編寫 ,那么產生的運算結果就是一定的.這一點,就是軟件天生的特性.想想看,如果一個軟件,同樣的代碼喝條件下,每次運行的結果不一樣,那還有誰會用?

所以,在C++/C語言中,就有了"偽隨機數(shù)"的概念.意思也就是說,通過一個特定的算法,產生一個假的隨機數(shù)序列.那么,程序員又希望這個隨機數(shù)序列跟接近真正的隨機數(shù)序列,也就是希望得到的序列的不一樣,所以有了一個"播種"的概念.

srand(unsgined int seed);

這個函數(shù)就是用來"播種"的.通過一個"種子"(SEED),來控制隨機數(shù)的序列不一樣.只要種子不一樣,那么通過rand()得到的隨機數(shù)序列就不一樣.反過來說,如果種子一樣,那么通過srand()得到的隨機數(shù)就是一樣的.

srand(0);

for( int i = 0; i 10; i++)

{

coutrand()' ';

}

你試著將這個程序執(zhí)行兩次,你會發(fā)現(xiàn)兩次的結果一樣。那是因為,一旦“種子”確定了,那么這個隨機數(shù)序列就確定了。軟件天生的“行為可重復性”決定了這一點。

所以,一般在播種的時候,喜歡用一個隨機的種子.在絕大多數(shù)的情況下,會使用當前的系統(tǒng)時間.這個數(shù)字在每次程序運行的時候都不一樣.除非你手動的改系統(tǒng)時間.

編程時有時需要隨機輸入一些數(shù),這是調用隨機函數(shù)可以完成此相命令.

# include “stdio.h”

# include “stdlib.h”

# include “time.h” /*需引用的頭文件*/

srand((unsigned)time(NULL)); /*隨機種子*/

n=rand()%(Y-X+1)+X; /*n為X~Y之間的隨機數(shù)*/

進一步解釋

srand()設置隨機數(shù)種子,rand()得到隨機數(shù)

random()的函數(shù)原型為int random(int num)

它的作用是Returns an integer between 0 and (num-1)

而randomize的函數(shù)原型為void randomize(void)

它的作用是Initializes the random number generator with a random value.

它們的區(qū)別是前者限定隨機數(shù)的產生范圍,而后者這完全是隨機的,另外使用這兩個函數(shù)時

應含入

#include stdlib.h

#include time.h

頭文件。

一個例子:

用法如下:

#include stdlib.h

#include stdio.h

#include time.h

void main( void )

{

int i,k;

srand( (unsigned)time( NULL ) ); //用系統(tǒng)時間當種子,對隨機函數(shù)進行初始化

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

{

k=rand()%100; //產生各個隨機數(shù)

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

}

}

再抄個~

在VC中設計到隨機數(shù)有兩個函數(shù)

srand() and rand()

srand() 的作用是是一個種子,提供每次獲得隨機數(shù)的基數(shù)而已,rand()根據種子而產生隨機數(shù)

注意

1:srand() 里的值必須是動態(tài)變化的,否則得到的隨機數(shù)就是一個固定數(shù)

2:其實可以不用寫srand() ,只用rand()就可以了,省事,簡單,例子如下

如果我們想得到一個 0-60的隨機數(shù)那么可以寫成

int i;

i=rand()%60;

就可以了。

當然最好有個統(tǒng)一的標注如下:

int i;

srand((unsigned)time( NULL ));

i=rand()%60;

這樣就OK了

例題隨機取數(shù),取1到99之間

1、#include iostream.h

#include stdlib.h

#include time.h

int main()

{

int n;//n為隨機數(shù)

srand(time(NULL));

n=1+rand()%99;

coutn;

return 0;

}

2、#includeiostream.h

#includestdlib.h

#includetime.h

void main()

{

int a;

srand((unsigned) time(NULL));

a=rand()%99+1;

couta;

}

3、#include iostream.h

#include stdlib.h

#include time.h

void main()

{

int j;

srand((unsigned)time(NULL));

loop:

j=rand()%100;

if(j==0)

{

cout"error"endl;

goto loop;

}

else coutjendl;

}

4、如果象樓上的你的那種做法做下去

那應該是100%而不是98%

你一定是少了

srand(...........);

其實這個程序也不錯

#include iostream

#include cstdlib

using namespace std;

int main()

{

int counter;

for(counter=0;counter10;counter++)

{

srand(counter+1);

cout"Random number"counter+1":"rand()endl;

}

system("pause");

return 0;

}

5、#include iostream.h

#include stdlib.h

int main()

{

int shu =100;

int n;//n為隨機數(shù)

srand(shu);

n=rand() % shu;

coutn;

return 0;

}

不拿時間作隨機數(shù),可以設一個種子數(shù)不清100這樣就產生0~99間的隨機數(shù)。

不過我沒有測試從復率,誰測了告訴我一下。

c語言隨機數(shù)函數(shù)是什么?

C語言隨機函數(shù)主要用于實現(xiàn)一組隨機數(shù)的生成。

代碼示例如下:

#includestdio.h

#includestdlib.h

int main ()

{

int a;

a=rand()%4;

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

return 0;

}

C預先生成一組隨機數(shù),每次調用隨機函數(shù)時從指針所指向的位置開始取值,因此使用rand()重復運行程序產生的隨機數(shù)都是相同的,可以通過srand()函數(shù)來改變指針位置。

擴展資料:

C語言隨機函數(shù)指針位置

void srand( unsigned int seed )

改變隨機數(shù)表的指針位置(用seed變量控制)。一般配合time(NULL)使用,因為時間每時每刻都在改變,產生的seed值都不同。

基于毫秒級隨機數(shù)產生方法:

#includewindows.h

種子設為:srand(unsigned int seed);

srand(GetTickCount());

參考資料:百度百科-C語言隨機函數(shù)

請問c語言中的隨機函數(shù)怎么用?

rand()函數(shù) 返回值是產生一個隨機數(shù),這個返回值雖然是隨機數(shù),但是可能會發(fā)現(xiàn),每回產生的都一樣,比如:

#include iostream

using namespace std;

void main()

{

for(int i=0;i3;i++){

coutrand()endl;

}

}

運行程序后發(fā)現(xiàn),產生的隨機數(shù),雖然每次運行程序時是隨機數(shù),但是,后來再運行程序,發(fā)現(xiàn)與上幾次結果一樣。

這是因為,隨機數(shù)的起始值都一樣。

為了產生真正的隨機數(shù),就應該設置隨機數(shù)的起始值,這個要利用srand()函數(shù)。

將上面程序改為:

#include iostream

using namespace std;

void main()

{

cout"請輸入隨機數(shù)的起始值"endl;

int num;

cinnum;

srand(num);

for(int i=0;i3;i++){

coutrand()endl;

}

}

運行程序 就會發(fā)現(xiàn) 輸入的起始值不同,產生的隨機數(shù)就不同。

當然 也可以產生時間隨機數(shù),這個要用到c語言time.h中的程序,這個可以供你自己思考,自己解決問題,樂趣更多呢~呵呵~

啰嗦這么多 希望對您有所幫助!

C語言中的rand()函數(shù)怎么用

rand()

rand()函數(shù)用來產生隨機數(shù),但是,rand()的內部實現(xiàn)是用線性同余法實現(xiàn)的,是偽隨機數(shù),由于周期較長,因此在一定范圍內可以看成是隨機的。

rand()會返回一個范圍在0到RAND_MAX(至少是32767)之間的偽隨機數(shù)(整數(shù))。

在調用rand()函數(shù)之前,可以使用srand()函數(shù)設置隨機數(shù)種子,如果沒有設置隨機數(shù)種子,rand()函數(shù)在調用時,自動設計隨機數(shù)種子為1。隨機種子相同,每次產生的隨機數(shù)也會相同。

rand()函數(shù)需要的頭文件是:stdlib.h

rand()函數(shù)原型:int rand(void);

使用rand()函數(shù)產生1-100以內的隨機整數(shù):int number1 = rand() % 100+1。

srand()

srand()函數(shù)需要的頭文件仍然是:stdlib.h

srand()函數(shù)原型:void srand (usigned int seed);

srand()用來設置rand()產生隨機數(shù)時的隨機數(shù)種子。參數(shù)seed是整數(shù),通常可以利用time(0)或getpid(0)的返回值作為seed。

使用rand()和srand()產生1-100以內的隨機整數(shù):

srand(time(0));

int number1 = rand() % 100+1。

新聞名稱:c語言中的隨機函數(shù)編程,c語言中的隨機函數(shù)編程是什么
文章分享:http://chinadenli.net/article6/dsggdog.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計公司動態(tài)網站網站建設定制開發(fā)域名注冊用戶體驗

廣告

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

綿陽服務器托管