c語言random函數,C語言rand函數

C語言隨機函數怎么弄

C++的隨機函數

公司主營業務:做網站、成都網站制作、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯公司是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯公司推出通州免費做網站回饋大家。

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

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

srand(unsgined int seed);

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

srand(0);

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

{

coutrand()' ';

}

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

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

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

# include “stdio.h”

# include “stdlib.h”

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

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

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

進一步解釋

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

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

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

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

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

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

應含入

#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 ) ); //用系統時間當種子,對隨機函數進行初始化

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

{

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

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

}

}

再抄個~

在VC中設計到隨機數有兩個函數

srand() and rand()

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

注意

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

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

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

int i;

i=rand()%60;

就可以了。

當然最好有個統一的標注如下:

int i;

srand((unsigned)time( NULL ));

i=rand()%60;

這樣就OK了

例題隨機取數,取1到99之間

1、#include iostream.h

#include stdlib.h

#include time.h

int main()

{

int n;//n為隨機數

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為隨機數

srand(shu);

n=rand() % shu;

coutn;

return 0;

}

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

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

c語言中randomize()和random()函數

這里是我在百度中搜集到的例子和一些簡介,呵呵,我開始也不是很懂的,你好好找找這類的資料就會懂的。。

這樣就可以產生0到7FFF之間的任意隨即數了。注意加上頭文件#includetime.h就好了

要產生10個的話,一個for循環

inta[10];

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

a[i]=rand();

不是寫的明白了嗎,srand你沒寫啊,要先設置種子,編譯器里如果不設置種子,種子會默認為0,那么每次運行的隨即數都一樣的。用time函數來改變種子,就可以很好的體現出“真正的隨即”了。

完整代碼:

例子:

#includetime.h

#includestdio.h

#includestdlib.h

main(){

inti,a[10];

srand(time(0));

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

a[i]=rand();

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

printf("%d\n",a[i]);

}

NOWOK?

例子:

#includetime.h

#includestdio.h

#includestdlib.h

main(){

inti,a[10];

srand(time(0));

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

a[i]=rand();

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

printf("%d\n",a[i]);

}

例子:

#includestdlib.h

#includestdio.h

#includetime.h

main()

{inta,b,c,d=1;

while(d!=0)

{srand(time(0));

a=random(100);

b=random(100);

printf("%d+%d=",a,b);

scanf("%d",c);

if((a+b)==c)

printf("VeryGood\n");

else

printf("Sorryyourareerror\n");

scanf("%d",d);

}

}

C語言求解隨機函數random

vc6.0下運行:

#include stdio.h

#include stdlib.h

#include time.h

void main()

{

int a[101],b[101]={0},i,j,k=0,t=0;

srand(time(0));

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

{

a[i] = rand()%90 + 10; //產生10~99的整數

if (a[i] % 2 == 0)

{

k++;

b[t++] = a[i];

}

}

printf("未排序時數組b的元素:\n");

for (t=0,i=0;ik;i++)

{

printf("%d ",b[i]);

t++;

if (t % 10 == 0)

printf("\n");

}

printf("\n\n");

//排序

for (i=0;ik-1;i++)

{

for (j=k-2;j=i;j--)

{

if (b[j] b[j+1])

{

t = b[j];

b[j] = b[j+1];

b[j+1] = t;

}

}

}

printf("排序后數組b的元素:\n");

for (t=0,i=0;ik;i++)

{

printf("%d ",b[i]);

t++;

if (t % 10 == 0)

printf("\n");

}

printf("\n");

}

c語言隨機數函數是什么?

c語言隨機數函數是 rand()

若要輸出1~10之間的隨機數,

可用rand()%10+1。

C語言中 random() 函數怎么用?

srand(int)用來設種子,然后每次rand()返回一個隨機值

種子最好是每次都不同的,否則你每次得到的都是同樣的一系列偽隨機數,通常讓種子和當前時間相關,比如

srand((unsigned)time(0));

當前名稱:c語言random函數,C語言rand函數
分享地址:http://m.kartarina.com/article18/hegjdp.html

成都網站建設公司_創新互聯,為您提供網站設計動態網站網站制作企業網站制作網站維護商城網站

廣告

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

h5響應式網站建設
主站蜘蛛池模板: 日韩AV无码不卡网站| 精品亚洲AV无码一区二区| 男男AV纯肉无码免费播放无码| 精品无码人妻一区二区免费蜜桃 | 久久国产精品成人无码网站| 东京热av人妻无码| 免费a级毛片无码a∨免费软件| 亚洲av永久无码精品漫画| 成在人线AV无码免费| 色欲狠狠躁天天躁无码中文字幕| 亚洲天然素人无码专区| 亚洲色无码专区在线观看| 加勒比无码一区二区三区| 无码人妻品一区二区三区精99| 亚洲Av永久无码精品一区二区| 国产网红无码精品视频 | 免费无码VA一区二区三区| 免费无码又爽又刺激聊天APP| 久久亚洲精品无码| 波多野结衣AV无码| 国产爆乳无码视频在线观看3| 亚洲日韩国产精品无码av| 中文字幕人妻无码一夲道 | 国产av无码专区亚洲av毛片搜| 亚洲精品无码成人片久久| 色视频综合无码一区二区三区| 亚洲综合无码一区二区三区 | 色综合AV综合无码综合网站| 无码欧精品亚洲日韩一区夜夜嗨| 精品无码成人片一区二区98| 亚洲成AV人片天堂网无码| 东京热无码av一区二区| 亚洲国产精品成人AV无码久久综合影院 | 亚洲av无码一区二区三区观看| 成人无码WWW免费视频| 亚洲AV无码一区二三区| 亚洲av无码天堂一区二区三区| 亚洲成?v人片天堂网无码| 中文字幕精品无码久久久久久3D日动漫 | 久久亚洲日韩看片无码| 亚洲成av人片不卡无码|