c語言rand函數(shù)包含 c語言中rand函數(shù)用法

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

rand函數(shù)功能為獲取一個偽隨機數(shù)(偽隨機數(shù)的概念下面會有介紹)。一、函數(shù)名: rand();二、聲明:intrand();三、所在頭文件:stdlib.h四、功能:返回一個偽隨機數(shù)。之所以說是偽隨機數(shù),是因為在沒有其它操作下,每次執(zhí)行同一個程序,調(diào)用rand得到的隨機數(shù)序列是固定的(不是真正的“隨機”)。五、為了使rand的結果更“真”一些,也就是令其返回值更具有隨機性(不確定性),C語言在stdlib.h中還提供了srand函數(shù),通過該函數(shù)可以設置一個隨機數(shù)種子,一般用當前時間的毫秒數(shù)來做參數(shù)。通過time(NULL)可以獲取到當前時間的毫秒值(該函數(shù)位于time.h)中。六、使用rand的流程可以總結為:1調(diào)用srand(time(NULL))設置隨機數(shù)種子。2調(diào)用rand函數(shù)獲取一個或一系列隨機數(shù)。需要注意的是,srand只需要在所有rand調(diào)用前,被調(diào)用一次即可,沒必要調(diào)用多次。七、以下是隨機獲取10個整型值并輸出的例子,輔助理解。#include #include #include int main(){ int i; srand(time(NULL));//設置隨機數(shù)種子。 for(i = 0; i 10; i ++)//運行10次。 printf("%d

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、虛擬主機、營銷軟件、網(wǎng)站建設、牡丹網(wǎng)站維護、網(wǎng)站推廣。

", rand());//每次獲取一個隨機數(shù)并輸出。 return 0;}

c語言中rand函數(shù)的使用方法

它的返回值就是求取隨機的值,所以如果沒有對數(shù)有要求,直接這樣定:

printf("%d", rand());就能輸出一個隨機數(shù).但如果對數(shù)有要求,如小數(shù)或在一定值以內(nèi):

小數(shù):rand()+rand()/100.0 //100.0后面的.0必須寫,100是說明求兩位小數(shù),你可以自己加大.

一定范圍:rand()%10+0 //10是頂和底的差,0是底,就是說求10到20之間的數(shù)就是:rand()%10+10

但是調(diào)用它必須先調(diào)用srand()來生成隨機種子,如果你沒調(diào)用它,系統(tǒng)會自動調(diào)用.但是srand是有個參數(shù)的,種子就是根據(jù)這個參數(shù)來定的,所以這個參數(shù)決定著生成的隨機數(shù).如果你在代碼里寫死了它:srand(10);那這樣rand生成的隨機數(shù)就也被定格在了一定量,所以不要這樣用.要這樣寫:

srand(time(NULL));time的返回值是當前系統(tǒng)時間.因為時間不同,所取的數(shù)值也就不同.這樣隨機數(shù)就真正的隨機了.

time在中聲明

rand,srand在中聲明.

c語言rand函數(shù)

%90就是產(chǎn)生的隨機數(shù)對90取余,那么結果肯定是在0到89之間, 結果再加上10,不就是10到99之間了

C中,rand()是什么意思,有什么作用

rand()是C語言中產(chǎn)生隨機數(shù)的一個函數(shù),但是需要注意的是,產(chǎn)生的是偽隨機數(shù)。

rand()用法舉例:

產(chǎn)生1到100之間的隨機數(shù)

#includestdio.h

int

main(){

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

int

rand_num=(rand()%100)+1;//產(chǎn)生1到100直接的隨機數(shù)

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

return

0;

}

代碼截圖:

擴展資料:

所謂的“偽隨機數(shù)”指的并不是假的隨機數(shù)。其實絕對的隨機數(shù)只是一種理想狀態(tài)的隨機數(shù),計算機只能生成相對的隨機數(shù)即偽隨機數(shù)。

系統(tǒng)在調(diào)用rand()之前都會自動調(diào)用srand(),如果用戶在rand()之前曾調(diào)用過srand()給參數(shù)seed指定了一個值,那么

rand()就會將seed的值作為產(chǎn)生偽隨機數(shù)的初始值;

而如果用戶在rand()前沒有調(diào)用過srand(),那么系統(tǒng)默認將1作為偽隨機數(shù)的初始

值。如果給了一個定值,那么每次rand()產(chǎn)生的隨機數(shù)序列都是一樣的。

所以為了避免上述情況的發(fā)生我們通常用srand((unsigned)time(0))或者srand((unsigned)time(NULL))來

產(chǎn)生種子。

如果仍然覺得時間間隔太小,可以在(unsigned)time(0)或者(unsigned)time(NULL)后面乘上某個合適的整數(shù)。

例如,srand((unsigned)time(NULL)*10)。

參考資料:百度百科-rand函數(shù)

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

一、首先包含必要的頭文件

#includestdio.h

這個包含用于輸入輸出的函數(shù)。

#includestdlib.h

這個包含初始化隨機數(shù)種子、產(chǎn)生隨機數(shù)的函數(shù)。

#includetime.h

這個包含與時間有關的函數(shù),初始化隨機數(shù)種子時可以用到。

二、使用如下公式產(chǎn)生在區(qū)間[min,max]之間的隨機數(shù)

int r=rand()%(max-min+1)+min;

三、一個例子,產(chǎn)生10個[1,100]的隨機整數(shù)

#include stdio.h

#include stdlib.h

#include time.h

int main()

{

const int min=1,max=100;

int i,r;

//用當前時間初始化隨機數(shù)種子

srand(time(NULL));

printf("隨機產(chǎn)生的10個1-100的整數(shù)是:");

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

{

r=rand()%(max-min+1)+min;

printf("%d,",r);

}

return 0;

}

四、運行結果的截圖

截圖1

截圖2

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

rand()

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

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

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

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

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

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

srand()

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

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

srand()用來設置rand()產(chǎn)生隨機數(shù)時的隨機數(shù)種子。參數(shù)seed是整數(shù),通??梢岳胻ime(0)或getpid(0)的返回值作為seed。

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

srand(time(0));

int number1 = rand() % 100+1。

文章名稱:c語言rand函數(shù)包含 c語言中rand函數(shù)用法
瀏覽路徑:http://m.kartarina.com/article44/hgjgee.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App開發(fā)、外貿(mào)網(wǎng)站建設、面包屑導航、微信小程序、企業(yè)建站

廣告

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

成都做網(wǎng)站
主站蜘蛛池模板: 无码夜色一区二区三区| 亚洲av无码一区二区三区观看| 免费A级毛片无码免费视| 麻豆精品无码国产在线果冻| 无码人妻一区二区三区在线水卜樱 | 日韩av无码免费播放| 久99久无码精品视频免费播放| 国产精品无码无卡在线播放| 亚无码乱人伦一区二区| 亚洲Av无码专区国产乱码DVD| 亚洲日韩精品无码AV海量| 国产AV无码专区亚洲AV手机麻豆 | 高清无码v视频日本www| 国产亚洲?V无码?V男人的天堂| 69堂人成无码免费视频果冻传媒| 久久久久亚洲AV无码专区网站| 亚洲精品无码永久在线观看男男| 波多野结衣AV无码久久一区| 成人免费无码大片A毛片抽搐色欲| 少妇人妻无码专区视频| 中文字幕人妻无码一夲道| 精品久久久无码人妻字幂 | 亚洲中文字幕无码久久2017| 日韩精品人妻系列无码av东京 | 亚洲精品无码永久在线观看男男| 无码国产乱人伦偷精品视频| 免费a级毛片无码a∨免费软件| 无码的免费不卡毛片视频| 久久人妻无码一区二区| 亚洲国产AV无码一区二区三区 | 亚洲av麻豆aⅴ无码电影| 无码国产精品久久一区免费 | 亚洲中文字幕无码永久在线| 亚洲AV永久无码精品一区二区国产| 免费看国产成年无码AV片| 国产丰满乱子伦无码专| 免费看国产成年无码AV片| 国产精品亚洲а∨无码播放麻豆| 无码国模国产在线观看| 精品国产毛片一区二区无码| 人妻老妇乱子伦精品无码专区|