c语言 rand 的用法
C语言是一门通用计算机编程语言,应用广泛。下面,小编为大家整理了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);
}
}