最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
c語言求隨機數(shù)函數(shù) c語言隨機數(shù)函數(shù)srand

C語言中產生隨機數(shù)的函數(shù)是什么?

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

在花垣等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站設計制作、成都網(wǎng)站建設 網(wǎng)站設計制作按需求定制開發(fā),公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站設計,成都全網(wǎng)營銷,外貿網(wǎng)站制作,花垣網(wǎng)站建設費用合理。

#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;//產生1-100的隨機數(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配合使用產生偽隨機數(shù)序列。rand函數(shù)在產生隨機數(shù)前,需要系統(tǒng)提供的生成偽隨機數(shù)序列的種子,rand根據(jù)這個種子的值產生一系列隨機數(shù)。如果系統(tǒng)提供的種子沒有變化,每次調用rand函數(shù)生成的偽隨機數(shù)序列都是一樣的。srand(unsigned seed)通過參數(shù)seed改變系統(tǒng)提供的種子值,從而可以使得每次調用rand函數(shù)生成的偽隨機數(shù)序列不同,從而實現(xiàn)真正意義上的“隨機”。通??梢岳孟到y(tǒng)時間來改變系統(tǒng)的種子值,即srand(time(NULL)),可以為rand函數(shù)提供不同的種子值,進而產生不同的隨機數(shù)序列。

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

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

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

可用rand()%10+1。

求c語言的隨機函數(shù)怎么用

隨機函數(shù)就是產生數(shù)的函數(shù),c語言里有rand(),srand()等函數(shù)。

用法

#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 );

}

}

詳述

rand() srand() 頭文件為#include stdlib.h

標準C庫中函數(shù)rand()可以生成0~RAND_MAX之間的一個隨機數(shù),其中RAND_MAX 是stdlib.h 中定義的一個整數(shù),它與系統(tǒng)有關。

rand()函數(shù)沒有輸入?yún)?shù),直接通過表達式rand()來引用,rand()%n是產生的隨機數(shù)對n取余,起到了取0到n-1之間隨機數(shù)的作用;

例如可以用下面的語句來打印兩個隨機數(shù): printf("Random numbers are: %i %i/n",rand(),rand());

因為rand()函數(shù)是按指定的順序來產生整數(shù),而未指定運行的種子,所以rand()每次使用的都是同一個種子來產生隨機數(shù)序列,因此每次執(zhí)行上面的語句都打印相同的兩個值,所以說C語言的隨機并不是正真意義上的隨機。

為了時程序在每次執(zhí)行時都能生成一個新序列的隨機值,我們通常通過為隨機數(shù)生成器提供一粒新的隨機種子。函數(shù) srand()(來自stdlib.h)可以為隨機數(shù)生成器播散種子。只要種子不同rand()函數(shù)就會產生不同的隨機數(shù)序列。srand()稱為隨機數(shù)生成器的初始化器。

srand( (unsigned)time( NULL ) ); 用系統(tǒng)時間當種子,對隨機函數(shù)進行初始化,每次的系統(tǒng)時間不同,所以種子也就不同,產生的隨機數(shù)序列也就不同。

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

1. 基本函數(shù)

在C語言中取隨機數(shù)所需要的函數(shù)是:

 int rand(void); void srand (unsigned int n);

rand()函數(shù)和srand()函數(shù)被聲明在頭文件stdlib.h中,所以要使用這兩個函數(shù)必須包含該頭文件:

 #include stdlib.h

2. 使用方法

rand()函數(shù)返回0到RAND_MAX之間的偽隨機數(shù)(pseudorandom)。RAND_MAX常量被定義在stdlib.h頭文件中。其值等于32767,或者更大。

srand()函數(shù)使用自變量n作為種子,用來初始化隨機數(shù)產生器。只要把相同的種子傳入srand(),然后調用rand()時,就會產生相同的隨機數(shù)序列。因此,我們可以把時間作為srand()函數(shù)的種子,就可以避免重復的發(fā)生。如果,調用rand()之前沒有先調用srand(),就和事先調用srand(1)所產生的結果一樣。

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

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

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

  每次運行都將輸出:1 7 4 0 9 4 8 8 2 4

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

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

  每次運行都將輸出:1 7 4 0 9 4 8 8 2 4

  例2的輸出結果與例1是完全一樣的。

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

  每次運行都將輸出:4 0 1 3 5 3 7 7 1 5

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

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

  該程序每次運行結果都不一樣,因為每次啟動程序的時間都不同。另外需要注意的是,使用time()函數(shù)前必須包含頭文件time.h。

 3. 注意事項

求一定范圍內的隨機數(shù)。

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

 randnumber = rand() % 10;

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

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

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

偽隨機浮點數(shù)。

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

  rand() / (double)(RAND_MAX)

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

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


網(wǎng)站標題:c語言求隨機數(shù)函數(shù) c語言隨機數(shù)函數(shù)srand
文章地址:http://fisionsoft.com.cn/article/doedgpp.html