這篇文章將為大家詳細(xì)講解有關(guān)C語(yǔ)言如何隨機(jī)生成一個(gè)矩陣,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
創(chuàng)新互聯(lián)是專業(yè)的徐聞網(wǎng)站建設(shè)公司,徐聞接單;提供網(wǎng)站制作、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行徐聞網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!生產(chǎn)隨機(jī)的矩陣的關(guān)鍵在于使用隨機(jī)函數(shù)rand()。
rand()
表頭文件: #include
定義函數(shù) :int rand(void)
函數(shù)說(shuō)明 :
因?yàn)閞and的內(nèi)部實(shí)現(xiàn)是用線性同余法做的,他不是真的隨機(jī)數(shù),只不過(guò)是因?yàn)槠渲芷谔貏e長(zhǎng),所以有一定的范圍里可看成是隨機(jī)的,rand()會(huì)返回一隨機(jī)數(shù)值,范圍在0至RAND_MAX 間。在調(diào)用此函數(shù)產(chǎn)生隨機(jī)數(shù)前,必須先利用srand()設(shè)好隨機(jī)數(shù)種子,如果未設(shè)隨機(jī)數(shù)種子,rand()在調(diào)用時(shí)會(huì)自動(dòng)設(shè)隨機(jī)數(shù)種子為1。rand ()產(chǎn)生的是假隨機(jī)數(shù)字,每次執(zhí)行時(shí)是相同的。若要不同,以不同的值來(lái)初始化它.初始化的函數(shù)就是srand()。
返回值:
返回0至RAND_MAX之間的隨機(jī)整數(shù)值,RAND_MAX的范圍最少是在32767之間(int),即雙字節(jié)(16位數(shù))。若用unsigned int 雙字節(jié)是65535,四字節(jié)是4294967295的整數(shù)范圍。
0~RAND_MAX每個(gè)數(shù)字被選中的機(jī)率是相同的.
基于隨機(jī)函數(shù),使用雙重循環(huán)語(yǔ)句便可以生成一個(gè)隨機(jī)矩陣,下面是一個(gè)10x10隨機(jī)矩陣的代碼,數(shù)值范圍在0~1000:
#include
#include
#define M 10
#define N 10
int main(void)
{
int i = 0, j = 0;
int Arr[M][N] = {{0}};
srand(time(NULL));
for (i = 0; i < M; ++i)
{
for (j = 0; j < N; ++j)
{
Arr[i][j] = rand() % 1000;
}
}
printf("Array[%d][%d] is: \n", M, N);
for (i = 0; i < M; ++i)
{
for (j = 0; j < N; ++j)
{
printf("%d\t", Arr[i][j]);
}
printf("\n");
}
return 0;
}
關(guān)于C語(yǔ)言如何隨機(jī)生成一個(gè)矩陣就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。