當前位置

首頁 > 商務英語 > 計算機英語 > c語言 rand 的用法

c語言 rand 的用法

推薦人: 來源: 閱讀: 3.03W 次

C語言是一門通用計算機編程語言,應用廣泛。下面,本站小編爲大家整理了c語言 rand 的用法,希望對你有幫助哦!

ing-bottom: 66.56%;">c語言 rand 的用法

  一、步驟:

寫入頭文件

#include <stdlib.h> #include <stdio.h> #include <time.h>

變量的定義

void main( void ) { int i,k;

srand( (unsigned)time( NULL ) ); /*選取種子文件*/

for( i = 0; i <20;i++ ) /*循環控制20個隨機數的生成*/ { k=rand()%100; /*儲存隨機數*/ printf( " k=%dn", k ); /*輸出隨機數*/ } }

  二、注意事項

此爲隨機函數的一種產生方法

如果只需一個,那麼可以省略循環控制

  三、rand和srand的用法比較

語言裏函數rand和srand的用法(隨機數)

rand(void)用於產生一個僞隨機unsigned int 整數。

srand(seed)用於給rand()函數設定種子。

srand 和 rand 應該組和使用。一般來說,srand 是對 rand 進行設置。

比如:

srand((UINT)GetCurrentTime());

int x = rand() % 100;

是生成 0 到 100 之間的隨機數。

srand()是用來初始化隨機種子數的,因爲rand的內部實現是用線性同餘法做的,他不是真的隨機數,只不過是因爲其週期特別長,所以有一定的範圍裏可看成是隨機的,式子如下:

rand = rand*const_1 + c_var;

srand函數就是給它的第一個rand值。

用"int x = rand() % 100;"來生成 0 到 100 之間的隨機數這種方法是不或取的,

比較好的做法是: j=(int)(n*rand()/(RAND_MAX+1.0))   產生一個0到n之間的隨機數

範例

/* 產生介於1 到10 間的隨機數值,此範例與執行結果可與rand()參照*/

#include<time.h>

#include<stdlib.h>

main()

{

int i,j;

srand((int)time(0));

for(i=0;i<10;i++)

{

j=1+(int)(10.0*rand()/(RAND_MAX+1.0));

printf(" %d ",j);

}

}