c語言 rand 的用法
C語言是一門通用計(jì)算機(jī)編程語言,應(yīng)用廣泛。下面,學(xué)習(xí)啦小編為大家整理了c語言 rand 的用法,希望對(duì)你有幫助哦!
一、步驟:
寫入頭文件
#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++ ) /*循環(huán)控制20個(gè)隨機(jī)數(shù)的生成*/ { k=rand()%100; /*儲(chǔ)存隨機(jī)數(shù)*/ printf( " k=%d\n", k ); /*輸出隨機(jī)數(shù)*/ } }
二、注意事項(xiàng)
此為隨機(jī)函數(shù)的一種產(chǎn)生方法
如果只需一個(gè),那么可以省略循環(huán)控制
三、rand和srand的用法比較
語言里函數(shù)rand和srand的用法(隨機(jī)數(shù))
rand(void)用于產(chǎn)生一個(gè)偽隨機(jī)unsigned int 整數(shù)。
srand(seed)用于給rand()函數(shù)設(shè)定種子。
srand 和 rand 應(yīng)該組和使用。一般來說,srand 是對(duì) rand 進(jìn)行設(shè)置。
比如:
srand((UINT)GetCurrentTime());
int x = rand() % 100;
是生成 0 到 100 之間的隨機(jī)數(shù)。
srand()是用來初始化隨機(jī)種子數(shù)的,因?yàn)閞and的內(nèi)部實(shí)現(xiàn)是用線性同余法做的,他不是真的隨機(jī)數(shù),只不過是因?yàn)槠渲芷谔貏e長(zhǎng),所以有一定的范圍里可看成是隨機(jī)的,式子如下:
rand = rand*const_1 + c_var;
srand函數(shù)就是給它的第一個(gè)rand值。
用"int x = rand() % 100;"來生成 0 到 100 之間的隨機(jī)數(shù)這種方法是不或取的,
比較好的做法是: j=(int)(n*rand()/(RAND_MAX+1.0)) 產(chǎn)生一個(gè)0到n之間的隨機(jī)數(shù)
范例
/* 產(chǎn)生介于1 到10 間的隨機(jī)數(shù)值,此范例與執(zhí)行結(jié)果可與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);
}
}