srand( (unsigned)time( NULL ) );
創新互聯公司是一家專注于網站設計制作、網站制作與策劃設計,元謀網站建設哪家好?創新互聯公司做網站,專注于網站建設10年,網設計領域的專業建站公司;建站業務涵蓋:元謀等地區。元謀做網站價格咨詢:18980820575
這一句放在for的前面,如下:
#include stdlib.h
#include stdio.h
#include time.h
void main( void )
{
int i,k;
srand( (unsigned)time( NULL ) );
for( i = 0; i 5;i++ )
{
k=rand()%100+1;
printf( " k=%d\n", k );
}
}
srand(...)用來獲取種子,
因為下面三句
srand( (unsigned)time( NULL ) );
k=rand()%100+1;
printf( " k=%d\n", k );
的運行時間很短,短到不到1/5秒,而你每次for循環中都取了相同的種子,導致輸出相同的隨機數.
一、首先包含必要的頭文件
#includestdio.h
這個包含用于輸入輸出的函數。
#includestdlib.h
這個包含初始化隨機數種子、產生隨機數的函數。
#includetime.h
這個包含與時間有關的函數,初始化隨機數種子時可以用到。
二、使用如下公式產生在區間[min,max]之間的隨機數
int r=rand()%(max-min+1)+min;
三、一個例子,產生10個[1,100]的隨機整數
#include stdio.h
#include stdlib.h
#include time.h
int main()
{
const int min=1,max=100;
int i,r;
//用當前時間初始化隨機數種子
srand(time(NULL));
printf("隨機產生的10個1-100的整數是:");
for(i=0;i10;i++)
{
r=rand()%(max-min+1)+min;
printf("%d,",r);
}
return 0;
}
四、運行結果的截圖
截圖1
截圖2
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函數生成的偽隨機數序列不同,從而實現真正意義上的“隨機”。通??梢岳孟到y時間來改變系統的種子值,即srand(time(NULL)),可以為rand函數提供不同的種子值,進而產生不同的隨機數序列。
分享題目:c語言隨機函數格式 C語言中隨機函數
文章轉載:http://m.kartarina.com/article44/hjijhe.html
成都網站建設公司_創新互聯,為您提供網站導航、外貿網站建設、品牌網站制作、營銷型網站建設、網站改版、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯