一、首先包含必要的頭文件
成都創(chuàng)新互聯(lián)公司專注于孝昌網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供孝昌營銷型網(wǎng)站建設,孝昌網(wǎng)站制作、孝昌網(wǎng)頁設計、孝昌網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務,打造孝昌網(wǎng)絡公司原創(chuàng)品牌,更為您提供孝昌網(wǎng)站排名全網(wǎng)營銷落地服務。
#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
rand()
rand()函數(shù)用來產(chǎn)生隨機數(shù),但是,rand()的內(nèi)部實現(xiàn)是用線性同余法實現(xiàn)的,是偽隨機數(shù),由于周期較長,因此在一定范圍內(nèi)可以看成是隨機的。
rand()會返回一個范圍在0到RAND_MAX(至少是32767)之間的偽隨機數(shù)(整數(shù))。
在調用rand()函數(shù)之前,可以使用srand()函數(shù)設置隨機數(shù)種子,如果沒有設置隨機數(shù)種子,rand()函數(shù)在調用時,自動設計隨機數(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ù)函數(shù),是按指定順序來產(chǎn)生的,在生成隨機數(shù)之前,在stdlib.h頭文件中,會初始化函數(shù)srand,根據(jù)隨機種子seed,來獲取隨機數(shù),如果seed不變,每次運行得到的隨機數(shù)會是一樣的,因此,rand函數(shù)也被大家叫做偽隨機數(shù)。下面就來介紹下rand函數(shù)的使用
01
打開代碼編譯器,輸入如下所示的代碼片段
02
運行該代碼片段,得到10個隨機數(shù),但是我們發(fā)現(xiàn),不論運行幾次,生成的隨機數(shù)都是這10個,也就是說,在種子seed不變的情況下,生成的隨機數(shù)是偽隨機數(shù)
03
我們引入頭文件time.h,取時間戳作為seed的取值來源,改代碼片段如下,將srand(1)改成srand(time(NULL))
04
運行代碼,得到10個隨機數(shù)如下,定義非常量的srand參數(shù),可以避免偽隨機數(shù)的產(chǎn)生
分享標題:rand函數(shù)在c語言中 c語言的rand函數(shù)怎么用
分享路徑:http://muchs.cn/article12/doshigc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、域名注冊、網(wǎng)站內(nèi)鏈、面包屑導航、標簽優(yōu)化、品牌網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)