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

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

c語言使用隨機函數(shù),c語言隨機函數(shù)rand生成0到100

C語言隨機函數(shù)怎么弄

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

創(chuàng)新互聯(lián)建站專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、普蘭店網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為普蘭店等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

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

所以,在C++/C語言中,就有了"偽隨機數(shù)"的概念.意思也就是說,通過一個特定的算法,產(chǎn)生一個假的隨機數(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)兩次的結(jié)果一樣。那是因為,一旦“種子”確定了,那么這個隨機數(shù)序列就確定了。軟件天生的“行為可重復(fù)性”決定了這一點。

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

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

# include “stdio.h”

# include “stdlib.h”

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

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

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

進(jìn)一步解釋

srand()設(shè)置隨機數(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ù)的產(chǎn)生范圍,而后者這完全是隨機的,另外使用這兩個函數(shù)時

應(yīng)含入

#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)時間當(dāng)種子,對隨機函數(shù)進(jìn)行初始化

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

{

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

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

}

}

再抄個~

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

srand() and rand()

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

注意

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

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

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

int i;

i=rand()%60;

就可以了。

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

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、如果象樓上的你的那種做法做下去

那應(yīng)該是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è)一個種子數(shù)不清100這樣就產(chǎn)生0~99間的隨機數(shù)。

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

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預(yù)先生成一組隨機數(shù),每次調(diào)用隨機函數(shù)時從指針?biāo)赶虻奈恢瞄_始取值,因此使用rand()重復(fù)運行程序產(chǎn)生的隨機數(shù)都是相同的,可以通過srand()函數(shù)來改變指針位置。

擴展資料:

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

void srand( unsigned int seed )

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

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

#includewindows.h

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

srand(GetTickCount());

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

關(guān)于C語言隨機函數(shù)

srand(

time(0)

);

放在循環(huán)外每次產(chǎn)生隨機數(shù)的種子也是一樣的啊,為什么產(chǎn)生的隨機數(shù)就不一樣了?

因為隨機函數(shù)只需要一個種子就能產(chǎn)生一系列的隨機數(shù),并不是每個隨機數(shù)都需要一個種子。

你把

srand(time(0))

放到循環(huán)前面就可以了。

原因:

time(0)返回的是系統(tǒng)的時間(從1970.1.1午夜算起),單位:秒,而那個循環(huán)運行起來耗時連0.000001秒都不到!

也就是說,srand(time(0))

連著4次的種子是一樣的,種子一樣,生產(chǎn)的隨機數(shù)當(dāng)然是一樣了。

如果你在把srand()放循環(huán)里面,在中間加個sleep函數(shù),消耗一點時間(間隔大于1秒),那么生成的rand

就不一樣了.但是這樣做很不好,連著兩次用srand生成的種子,間隔一樣,生產(chǎn)的隨機數(shù)間隔有會有規(guī)律性。

另:因為兩次運行同一程序的時間肯定是不一樣的,所以把srand放在循環(huán)前面可以得不同的種子,這樣才能得到你想要的。

C語言 隨機函數(shù)

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

=

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

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

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

error

C2065:

'rand'

:

undeclared

identifier

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

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

希望能幫到你!


網(wǎng)頁標(biāo)題:c語言使用隨機函數(shù),c語言隨機函數(shù)rand生成0到100
路徑分享:http://weahome.cn/article/heshdi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部