隨機(jī)函數(shù)c語(yǔ)言二維數(shù)組 隨機(jī)函數(shù) c語(yǔ)言

C語(yǔ)言編程,如何自動(dòng)生成一個(gè)二維數(shù)組

程序主要通過malloc函數(shù)動(dòng)態(tài)生成數(shù)組,srand和rand函數(shù)配合生成隨機(jī)數(shù)據(jù),代碼如下,

在休寧縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站,外貿(mào)網(wǎng)站制作,休寧縣網(wǎng)站建設(shè)費(fèi)用合理。

//程序功能,實(shí)現(xiàn)自定義m*n二維數(shù)組,隨機(jī)生成給定范圍max-min的數(shù)組元素

#includestdio.h

#include stdlib.h

#include time.h

void main()

{

int i=0,j=0;

int m=0,n=0;//數(shù)組維數(shù)

int max=0,min=0;//數(shù)組數(shù)據(jù)范圍

int **p=NULL;//二維指針,存放m*n個(gè)元素

int tmp;

printf("請(qǐng)輸入數(shù)組維數(shù)m和n:");

scanf("%d %d",m,n);

printf("請(qǐng)輸入數(shù)組元素最大最小值max和min:");

scanf("%d %d",max,min);

if(maxmin)//保證max大于min

{

tmp=max;

max=min;

min=max;

}

p=(int**)malloc(m*sizeof(int*));//先分配m個(gè)一維指針

if(NULL==p)

exit(1);

for (i = 0; i n ; i++)

{

p[i] = (int*)malloc(n*sizeof(int));//為m個(gè)一維指針分配n個(gè)整型大小的空間

if (NULL==p[i])

exit(1);

}

srand(time(NULL));

for(i=0;im;i++)

for(j=0;jn;j++)

p[i][j]=rand()%(max-min+1)+min;

printf("%d*%d二維數(shù)組為:\n",m,n);

for(i=0;im;i++)

{

for(j=0;jn;j++)

printf("%d\t",p[i][j]);

printf("\n");

}

for (i = 0; i n; i++)

{

free(p[i]);

p[i]=NULL;

}

free(p);

p=NULL;

}

void *malloc( size_t size );如果分配成功則返回指向被分配內(nèi)存的指針,指針指向一個(gè)大小為size的內(nèi)存空間;如果錯(cuò)誤發(fā)生返回NULL。

一般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ù)序列。

C語(yǔ)言,生成二維數(shù)組隨機(jī)數(shù)

#includetime.h

#includestdio.h

#includestdlib.h

int main()

{

srand(time(0));

int i,j;

for(i=0;i2;i++)

{

for(j=0;j3;j++)

{

int a=rand()%10;

printf("%5d",a);

}

printf("\n");

}

return 0;

}

只要求輸出的話不用把數(shù)存起來吧

C語(yǔ)言中如何產(chǎn)生隨機(jī)的二維數(shù)組的坐標(biāo)

使用隨機(jī)函數(shù)即可產(chǎn)生隨機(jī)數(shù)。

1、C語(yǔ)言提供了一些庫(kù)函數(shù)來實(shí)現(xiàn)隨機(jī)數(shù)的產(chǎn)生。C語(yǔ)言中有三個(gè)通用的隨機(jī)數(shù)發(fā)生器,分別為?rand函數(shù),?random函數(shù),?randomize?函數(shù)

2、但是rand函數(shù)產(chǎn)生的并不是真意正義上的隨機(jī)數(shù),是一個(gè)偽隨機(jī)數(shù),是根據(jù)一個(gè)數(shù),稱之為種子,為基準(zhǔn)以某個(gè)遞推公式推算出來的一系數(shù),當(dāng)這系列數(shù)很大的時(shí)候,就符合正態(tài)公布,從而相當(dāng)于產(chǎn)生了隨機(jī)數(shù),但這不是真正的隨機(jī)數(shù),當(dāng)計(jì)算機(jī)正常開機(jī)后,這個(gè)種子的值是定了的,除非破壞了系統(tǒng),為了改變這個(gè)種子的值,C提供了srand()函數(shù),它的原形是void?srand(?int?a)。

3、在調(diào)用rand函數(shù)產(chǎn)生隨機(jī)數(shù)前,必須先利用srand()設(shè)好隨機(jī)數(shù)種子,如果未設(shè)隨機(jī)數(shù)種子,rand()在調(diào)用時(shí)會(huì)自動(dòng)設(shè)隨機(jī)數(shù)種子為1。一般用for語(yǔ)句來設(shè)置種子的個(gè)數(shù)。

舉例:

#include?stdio.h

#include?stdlib.h?

#include?time.h

int?main()

{

int?a[10][2];

int?i,j,x,y;

srand(time(NULL));/*隨機(jī)數(shù)種子*/?

for?(?i=0;i10;i++)

for?(?j=0;j2;j++)

{

a[i][j]=0+?rand()%10;/*產(chǎn)生0到10(不包括10)之間的隨機(jī)數(shù)*/?

}

printf("輸出元素:\n");

for?(?i=0;i10;i++)

for?(?j=0;j2;j++)

{

printf("a[%d][%d]=%d?",i,j,a[i][j]);

if((j+1)%2==0)

printf("\n");

}???

getchar();

return?0;

}

C語(yǔ)言怎么用隨機(jī)函數(shù)過二維數(shù)組賦值

VC中使用srand()來初始化為隨機(jī)數(shù)生成器。

#includestdlib.h

void?main()

{

int?i;

randomize();

printf("Ten?random?numbers?from?0?to?99\n\n");

for(i=0;i10;i++)

printf("%d\n",rand()%100);

}

注:可以在TC2.0中運(yùn)行通過,在VC6.0不能運(yùn)行。

[以上摘自百度百科]

所以你應(yīng)該使用srand()來作為隨機(jī)初始化。

如果一定要用的話,你就只能換編譯器。

#includecstdio

#includecstdlib

#includectime

int?a[110][110];

int?main(){

//time(0)返回的是一個(gè)和系統(tǒng)時(shí)間有關(guān)的值,將其作為隨機(jī)種子可以使得每次隨機(jī)種子的值不一樣,也就在后面的rand()中不會(huì)輸出同樣的值,達(dá)到了初始化隨機(jī)的作用。

srand(time(0));

int?n=5,m=6,mod=100;

for(int?i=1;i=n;i++)

for(int?j=1;j=m;j++)

a[i][j]=rand()%mod+1;

for(int?i=1;i=n;i++){

for(int?j=1;j=m;j++)

printf("%d?",a[i][j]);

putchar('\n');

}

return?0;

}

分享文章:隨機(jī)函數(shù)c語(yǔ)言二維數(shù)組 隨機(jī)函數(shù) c語(yǔ)言
瀏覽路徑:http://muchs.cn/article24/ddigjje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、企業(yè)網(wǎng)站制作、網(wǎng)站排名商城網(wǎng)站、網(wǎng)站營(yíng)銷、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)