C语言程序随机数的产生

  • 格式:doc
  • 大小:21.00 KB
  • 文档页数:2

随机数的产生
C语言中的随机函数random,可是random函数并不是ANSI C标准,所以说,random
函数不能在gcc,vc等编译器下编译通过。那么怎么实现VC语言中的随机函数
呢?

其实,除了random函数,还有一个rand函数,这个函数也是一个随机函数,他
可以产生从0到32767的随机数。

#i nclude
#i nclude

int main()
{
int k;
k = rand();
printf("%d\\n", k);
return 0;
}//main

如果产生0-100之间的随机数的方法为
#include
#include//#include"stdlib.h" //随机函数头文件
int main()
{
int a[20],i;
for(i=0;i<20;i++)
{
a[i]=0+rand()%100; //产生【0,100】之间的数据
printf("%d ",a[i]);
}
}
大家可以把以上的代码编译运行一下,发现他的确产生随机数了,但是你会发现,
每次运行程序产生的随机数都是一样的,不过你在程序里加上for循环,每次产
生的数不一样

由于rand产生的随机数是从0到rand_max的,而rand_max(32767)是一个很
大的数,那么如何产生从X~Y的数呢?

从X到Y,有Y-X+1个数,所以要产生从X到Y的数,只需要这样写:
k = rand() % (Y - X + 1) +X;
这样,就可以产生你想要的任何范围内的随机数了。