1、首先打開Visual
成都創(chuàng)新互聯(lián)公司的客戶來自各行各業(yè),為了共同目標,我們在工作上密切配合,從創(chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對我們的要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計、網(wǎng)站制作、電商網(wǎng)站開發(fā)、微信營銷、系統(tǒng)平臺開發(fā)。
stdio
2019,依次點擊文件,新建,項目新建以一個空白的項目:
2、新建新項目以后,右鍵點擊左邊的源文件,選擇添加,點擊添加項:
3、選擇cpp,并將下方的擴展名改為.c,然后點擊確定:
4、接下來就可以用編譯器編譯,使用rand()函數(shù)產(chǎn)生C語言的隨機數(shù),需要加入stdlib.h和time.h在表頭,rand()函數(shù)需要給srand()函數(shù)提供一個參數(shù),不然系統(tǒng)會給定一個默認的參數(shù),如果參數(shù)為一任意的常量的話,得到的也是偽隨機數(shù):
4、按ctrl+F5就可以運行程序了,在彈出的窗口中就會看到得到的所有隨機數(shù)了:
分類: 電腦/網(wǎng)絡(luò) 程序設(shè)計 其他編程語言
問題描述:
C語言中產(chǎn)生隨機數(shù)的函數(shù)是什么?(好象有兩個)以及這兩個函數(shù)的頭文件是什么?
解析:
#include stdio.h
#include stdlib.h
#include time.h
void main()
{
int i;
srand((unsigned)time(NULL));
i = rand() % 100;
}
這樣產(chǎn)生的隨機數(shù)就是0-99之間的,
這二個函數(shù)的工作過程如下:
1) 首先給srand()提供一個種子,它是一個unsigned int類型,其取值范圍從0~65535;
2) 然后調(diào)用rand(),它會根據(jù)提供給srand()的種子值返回一個隨機數(shù)(在0到32767之間)
3) 根據(jù)需要多次調(diào)用rand(),從而不間斷地得到新的隨機數(shù);
4) 無論什么時候,都可以給srand()提供一個新的種子,從而進一步“隨機化”rand()的輸出結(jié)果。
樓上這樣得出的隨機值不準確,不信你運行幾次試試,都是同一個數(shù)。正確應(yīng)該這樣。
首先加頭文件
#include time.h
#includestdlib.h
然后
在主函數(shù)里面寫
int i;
srand(time(0));
i=rand()%100+1;
printf("%d",i);
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ù)產(chǎn)生器。只要把相同的種子傳入srand(),然后調(diào)用rand()時,就會產(chǎn)生相同的隨機數(shù)序列。因此,我們可以把時間作為srand()函數(shù)的種子,就可以避免重復(fù)的發(fā)生。如果,調(diào)用rand()之前沒有先調(diào)用srand(),就和事先調(diào)用srand(1)所產(chǎn)生的結(jié)果一樣。
舉個例子,假設(shè)我們要取得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的輸出結(jié)果與例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)所取得的值不同,但是每次運行程序的結(jié)果都相同。
/* 例4:指定種子值為現(xiàn)在的時間 */ srand((unsigned)time(NULL)); for (int i=0; i10; i++) { printf("%d ", rand()%10); }
該程序每次運行結(jié)果都不一樣,因為每次啟動程序的時間都不同。另外需要注意的是,使用time()函數(shù)前必須包含頭文件time.h。
3. 注意事項
求一定范圍內(nèi)的隨機數(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ù)是 rand()
若要輸出1~10之間的隨機數(shù),
可用rand()%10+1。
標題名稱:c語言隨機數(shù)函數(shù)210 c語言隨機數(shù)函數(shù)01
文章網(wǎng)址:http://chinadenli.net/article4/hiheie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、做網(wǎng)站、標簽優(yōu)化、網(wǎng)站內(nèi)鏈、微信公眾號、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)