C語言隨機函數(shù)主要用于實現(xiàn)一組隨機數(shù)的生成。
創(chuàng)新互聯(lián)致力于網(wǎng)站建設(shè),網(wǎng)站制作設(shè)計,營銷網(wǎng)頁按需開發(fā)網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站建設(shè),微信小程序開發(fā),網(wǎng)站SEO優(yōu)化,網(wǎng)站設(shè)計制作案例豐富,是成都做網(wǎng)站公司和建站公司,歡迎咨詢。
代碼示例如下:
#includestdio.h
#includestdlib.h
int main ()
{
int a;
a=rand()%4;
printf("%d\n",a);
return 0;
}
C預(yù)先生成一組隨機數(shù),每次調(diào)用隨機函數(shù)時從指針?biāo)赶虻奈恢瞄_始取值,因此使用rand()重復(fù)運行程序產(chǎn)生的隨機數(shù)都是相同的,可以通過srand()函數(shù)來改變指針位置。
擴(kuò)展資料:
C語言隨機函數(shù)指針位置
void srand( unsigned int seed )
改變隨機數(shù)表的指針位置(用seed變量控制)。一般配合time(NULL)使用,因為時間每時每刻都在改變,產(chǎn)生的seed值都不同。
基于毫秒級隨機數(shù)產(chǎn)生方法:
#includewindows.h
種子設(shè)為:srand(unsigned int seed);
srand(GetTickCount());
參考資料:百度百科-C語言隨機函數(shù)
你在函數(shù)里面生成的隨機數(shù)種子,而計算機運行速度又很快,時間幾乎沒差別,種子完全一樣,生成的隨機數(shù)當(dāng)然一樣。
改成下面樣子就OK了:
void main()
{
int i1,i2,i3,i;
srand (time(NULL));//加到這個位置
i2=suiji();
printf("%d",i2);
i1=suiji();
printf("%d",i1);
}
int suiji()
{
int a;
int t=1,d=18;
//srand (time(NULL));
a=rand()%(d-t)+t;
return a;
}
其實只要做一次種,然后再調(diào)用rand()就能產(chǎn)生不同的結(jié)果了,不用每次調(diào)用rand()之前都用srand()做種的
也就是說你那個程序可以改為
srand(time(0));
for(a=0; a200; a++)
{ /* Two adjacent values of random numbers must be different */
R=rand()/(RAND_MAX+1.0);
b=int(R*num) + 1;
}
如何運用time函數(shù)和srand函數(shù)生成隨機數(shù)
#include stdio.h
#include stdlib.h//srand()、rand()
#include time.h//time();
#define N 50
int main()
{
int n;
srand((unsigned)time(NULL));//設(shè)置隨機數(shù)種子
while (1)
{
n = (rand() % 10) + 1 ;//產(chǎn)生1~10的隨機數(shù)
//rand()產(chǎn)生的是一個很大的數(shù),對其求余就可以達(dá)到限定范圍的目的
printf("%d ", n);
}
return 0;
}
文章標(biāo)題:c語言隨機數(shù)函數(shù)同時調(diào)用的簡單介紹
文章位置:http://www.rwnh.cn/article34/ddosgpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站建設(shè)、網(wǎng)站營銷、響應(yīng)式網(wǎng)站、網(wǎng)站策劃、企業(yè)建站
聲明:本網(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)