c語言中產(chǎn)生隨機(jī)數(shù)的相關(guān)函數(shù)主要包括srand和rand函數(shù),兩者配合生成隨機(jī)數(shù)據(jù),測試代碼如下,
成都創(chuàng)新互聯(lián)公司專注于安達(dá)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供安達(dá)營銷型網(wǎng)站建設(shè),安達(dá)網(wǎng)站制作、安達(dá)網(wǎng)頁設(shè)計(jì)、安達(dá)網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造安達(dá)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供安達(dá)網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
#includestdio.h
#include stdlib.h
#include time.h
void main()
{
int i=0,j=0;
int p[5][5]={0};
srand(time(NULL));
for(i=0;i5;i++)
for(j=0;j5;j++)
p[i][j]=rand()%100+1;//產(chǎn)生1-100的隨機(jī)數(shù)存入數(shù)組p中
printf("二維數(shù)組p為:\n");
for(i=0;i5;i++)
{
for(j=0;j5;j++)
printf("%d\t",p[i][j]);
printf("\n");
}
}
一般srand和rand配合使用產(chǎn)生偽隨機(jī)數(shù)序列。rand函數(shù)在產(chǎn)生隨機(jī)數(shù)前,需要系統(tǒng)提供的生成偽隨機(jī)數(shù)序列的種子,rand根據(jù)這個(gè)種子的值產(chǎn)生一系列隨機(jī)數(shù)。如果系統(tǒng)提供的種子沒有變化,每次調(diào)用rand函數(shù)生成的偽隨機(jī)數(shù)序列都是一樣的。srand(unsigned seed)通過參數(shù)seed改變系統(tǒng)提供的種子值,從而可以使得每次調(diào)用rand函數(shù)生成的偽隨機(jī)數(shù)序列不同,從而實(shí)現(xiàn)真正意義上的“隨機(jī)”。通??梢岳孟到y(tǒng)時(shí)間來改變系統(tǒng)的種子值,即srand(time(NULL)),可以為rand函數(shù)提供不同的種子值,進(jìn)而產(chǎn)生不同的隨機(jī)數(shù)序列。
你好!
完整的代碼,紅圈處就是從上面100個(gè)數(shù)字中抽取到的數(shù)字:
#include?stdio.h
#includestdlib.h??????????????????//生成隨機(jī)數(shù)用?
#includetime.h????????????????????//利用時(shí)間生成種子?
#includemath.h????????????????????
int?main()
{
int?i;
??int?a[100];
srand(?time(NULL)?);?????????//生成種子?
for(i=0;i100;i++)
{
a[i]=rand()%1000+1000;??????//生成一個(gè)小于1000的隨機(jī)數(shù)
???//然后加1000,變成?1000?-?2000之間的數(shù)?
printf("%d??",a[i]);???????//打印?
}
i=rand()%100;??????????????//隨機(jī)抽取其中的一個(gè)數(shù)?
printf("\n抽取到的是:%d\n",a[i]);//打印?
return?0;?
}
c語言隨機(jī)數(shù)函數(shù)是 rand()
若要輸出1~10之間的隨機(jī)數(shù),
可用rand()%10+1。