十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這要用到的是rand()函數(shù), srand()函數(shù),和time()函數(shù)。
創(chuàng)新互聯(lián)服務項目包括圍場網(wǎng)站建設、圍場網(wǎng)站制作、圍場網(wǎng)頁制作以及圍場網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,圍場網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到圍場省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
需要說明的是,iostream頭文件中就有srand函數(shù)的定義,不需要再額外引入stdlib.h;而使用time()函數(shù)需要引入ctime頭文件。
srand()用來設置rand()產(chǎn)生隨機數(shù)時的隨機數(shù)種子。在調(diào)用rand()函數(shù)產(chǎn)生隨機數(shù)前,必須先利用srand()設好隨機數(shù)種子(seed), 如果未設隨機數(shù)種子, rand()在調(diào)用時會自動設隨機數(shù)種子為1。
使用rand()函數(shù)獲取一個隨機數(shù)
如果你只要產(chǎn)生隨機數(shù)而不需要設定范圍的話,你只要用rand()就可以了:rand()會返回一隨機數(shù)值, 范圍在0至RAND_MAX 間。RAND_MAX定義在stdlib.h, 其值為2147483647。
#includestdio
#includetime.h
int main()
{
for(int i=0;i10;i++)
{
//產(chǎn)生10以內(nèi)的整數(shù)
printf(" rand()%10\n")
}
}
在VC中設計到隨機數(shù)有兩個函數(shù)
srand() and rand()
srand() 的作用是是一個種子,提供每次獲得隨機數(shù)的基數(shù)而已,rand()根據(jù)種子而產(chǎn)生隨機數(shù)
注意
1:srand() 里的值必須是動態(tài)變化的,否則得到的隨機數(shù)就是一個固定數(shù)
2:其實可以不用寫srand() ,只用rand()就可以了,省事,簡單,例子如下
如果我們想得到一個 0-60的隨機數(shù)那么可以寫成
int i;
i=rand()%60;
就可以了。
當然最好有個統(tǒng)一的標注如下:
int i;
srand((unsigned)time( NULL ));
i=rand()%60;
這樣就OK了。
rand()函數(shù) 返回值是產(chǎn)生一個隨機數(shù),這個返回值雖然是隨機數(shù),但是可能會發(fā)現(xiàn),每回產(chǎn)生的都一樣,比如:
#include iostream
using namespace std;
void main()
{
for(int i=0;i3;i++){
coutrand()endl;
}
}
運行程序后發(fā)現(xiàn),產(chǎn)生的隨機數(shù),雖然每次運行程序時是隨機數(shù),但是,后來再運行程序,發(fā)現(xiàn)與上幾次結(jié)果一樣。
這是因為,隨機數(shù)的起始值都一樣。
為了產(chǎn)生真正的隨機數(shù),就應該設置隨機數(shù)的起始值,這個要利用srand()函數(shù)。
將上面程序改為:
#include iostream
using namespace std;
void main()
{
cout"請輸入隨機數(shù)的起始值"endl;
int num;
cinnum;
srand(num);
for(int i=0;i3;i++){
coutrand()endl;
}
}
運行程序 就會發(fā)現(xiàn) 輸入的起始值不同,產(chǎn)生的隨機數(shù)就不同。
當然 也可以產(chǎn)生時間隨機數(shù),這個要用到c語言time.h中的程序,這個可以供你自己思考,自己解決問題,樂趣更多呢~呵呵~
啰嗦這么多 希望對您有所幫助!
#include stdlib.h
#include time.h
int main( )
{
int a[100]; /* 存放隨機數(shù)的數(shù)組 */
time_t t1; /* 用于存放時間 */
time(t1); /* 取得當前系統(tǒng)時間 */
srand(t1); /* 設置隨機數(shù)種子 */
for (i = 0; i 100; i ++) /* 循環(huán)生成10個隨機數(shù),放到數(shù)組a中 */
a[i] = 10 + rand( ) % 90;
/* 數(shù)值范圍在10到99間,需要不同范圍的數(shù)據(jù)請自行更改 */
...
}