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

c語言取隨機數(shù)函數(shù),C語言如何取隨機數(shù)

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

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

站在用戶的角度思考問題,與客戶深入溝通,找到永城網站設計與永城網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網站制作、成都網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣、國際域名空間、網站空間、企業(yè)郵箱。業(yè)務覆蓋永城地區(qū)。

#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)真正意義上的“隨機”。通常可以利用系統(tǒng)時間來改變系統(tǒng)的種子值,即srand(time(NULL)),可以為rand函數(shù)提供不同的種子值,進而產生不同的隨機數(shù)序列。

C語言中獲得隨機數(shù)的方法是什么?

可以使用庫函數(shù)rand()。

rand聲明于stdlib.h,其原型為

int rand(void);

功能為返回一個隨機整型值。在C語言中,該值是一個正數(shù)值。

在需要限定獲取到的隨機數(shù)范圍時,如范圍要求為[m,n] mn且m,n均為整數(shù),可以用

rand()%(n-m+1)+m

的形式進行獲取。原理為:

%為取余計算,當%k時,結果是[0,k-1]之間的數(shù)值;

于是rand()%(n-m+1) ∈ [0, n-m];

所以rand()%(n-m+1)+m ∈ [0+m, n-m+m]=[m,n]。

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ù)的函數(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) 其他情況,以此類推,這里不作詳細說明。

文章題目:c語言取隨機數(shù)函數(shù),C語言如何取隨機數(shù)
當前路徑:http://chinadenli.net/article27/dsigscj.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供云服務器手機網站建設定制開發(fā)網站設計公司用戶體驗網站改版

廣告

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

成都網站建設