本文目錄一覽:
C語言中的rand()函數怎麼用
rand()
rand()函數用來產生隨機數,但是,rand()的內部實現是用線性同餘法實現的,是偽隨機數,由於周期較長,因此在一定範圍內可以看成是隨機的。
rand()會返回一個範圍在0到RAND_MAX(至少是32767)之間的偽隨機數(整數)。
在調用rand()函數之前,可以使用srand()函數設置隨機數種子,如果沒有設置隨機數種子,rand()函數在調用時,自動設計隨機數種子為1。隨機種子相同,每次產生的隨機數也會相同。
rand()函數需要的頭文件是:stdlib.h
rand()函數原型:int rand(void);
使用rand()函數產生1-100以內的隨機整數:int number1 = rand() % 100+1。
srand()
srand()函數需要的頭文件仍然是:stdlib.h
srand()函數原型:void srand (usigned int seed);
srand()用來設置rand()產生隨機數時的隨機數種子。參數seed是整數,通常可以利用time(0)或getpid(0)的返回值作為seed。
使用rand()和srand()產生1-100以內的隨機整數:
srand(time(0));
int number1 = rand() % 100+1。
c語言隨機數函數是什麼?
C語言隨機函數主要用於實現一組隨機數的生成。
代碼示例如下:
#includestdio.h
#includestdlib.h
int main ()
{
int a;
a=rand()%4;
printf(“%d\n”,a);
return 0;
}
C預先生成一組隨機數,每次調用隨機函數時從指針所指向的位置開始取值,因此使用rand()重複運行程序產生的隨機數都是相同的,可以通過srand()函數來改變指針位置。
擴展資料:
C語言隨機函數指針位置
void srand( unsigned int seed )
改變隨機數表的指針位置(用seed變數控制)。一般配合time(NULL)使用,因為時間每時每刻都在改變,產生的seed值都不同。
基於毫秒級隨機數產生方法:
#includewindows.h
種子設為:srand(unsigned int seed);
srand(GetTickCount());
參考資料:百度百科-C語言隨機函數
c語言的隨機數產生函數是什麼?
rand(),但是這個雖然產生隨機數有個缺陷,每次產生的隨機數一樣的,所有你得用一個time庫裡面的函數,可以是每次隨機數不同
C語言中產生隨機數的函數是什麼?
c語言中產生隨機數的相關函數主要包括srand和rand函數,兩者配合生成隨機數據,測試代碼如下,
#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;//產生1-100的隨機數存入數組p中
printf(“二維數組p為:\n”);
for(i=0;i5;i++)
{
for(j=0;j5;j++)
printf(“%d\t”,p[i][j]);
printf(“\n”);
}
}
一般srand和rand配合使用產生偽隨機數序列。rand函數在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次調用rand函數生成的偽隨機數序列都是一樣的。srand(unsigned seed)通過參數seed改變系統提供的種子值,從而可以使得每次調用rand函數生成的偽隨機數序列不同,從而實現真正意義上的「隨機」。通常可以利用系統時間來改變系統的種子值,即srand(time(NULL)),可以為rand函數提供不同的種子值,進而產生不同的隨機數序列。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/229189.html