C語言中是如何進行隨機數生成的.C語言是編程人員經常會到的一款計算機編程語言,有的朋友想知道怎樣使用C語言進行隨機數生成,那麼就快隨小編一起來看看這篇C語言中是如何進行隨機數生成的吧!其中不僅為大家介紹了生成隨機數的函數,還提供了測試代碼!同時為大家附帶了隨機數字生成器免費版的下載地址哦!
c語言中產生隨機數的相關函數主要包括srand和rand函數,兩者配合生成隨機數據,測試代碼如下,
#include<stdio.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;i<5;i++)
for(j=0;j<5;j++)
p[i][j]=rand()%100+1;//產生1-100的隨機數存入數組p中
printf("二維數組p為:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%d\t",p[i][j]);
printf("\n");
}
}
一般srand和rand配合使用產生偽隨機數序列。rand函數在產生隨機數前,需要係統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一係列隨機數。如果係統提供的種子沒有變化,每次調用rand函數生成的偽隨機數序列都是一樣的。srand(unsigned seed)通過參數seed改變係統提供的種子值,從而可以使得每次調用rand函數生成的偽隨機數序列不同,從而實現真正意義上的“隨機”。通常可以利用係統時間來改變係統的種子值,即srand(time(NULL)),可以為rand函數提供不同的種子值,進而產生不同的隨機數序列。