正文

随机数的产生办法!- -2005-09-13 16:55:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/home/4713.html

分享到:

在C语言有产生随机数的函数rand().它的函数声明放在了stdlib.h头文件里。rand恶意返回一个0~RANDMAX(32767) 之间的整随机数。

计算机产生的随机数序列都是伪随机数,即这个随机数序列有一个长度,因而会出现重复。每次程序执行rand时,所产生的随机数序列都是相同的。为了弥补这一不足,可以使用随机数序列函数srand,使rand产生不同的伪随机数序列。srand函数的参数称为随机数序列种子(seed)。即不同伪随机数序列种子,可以得到不同的伪随机数序列。所以为了让rand每次产生不同的伪随机数序列,每次要给srand以不同的参数种子。最好这个种子也是随机的。

一个办法是采用系统时间作为伪随机数序列种子,即:

srand((unsigned int) time (NULL));

在rand的前面加上上述语句,就可以产生出相当随机的随机数序列了。表达式是把时间转换成无符号的整数,作为rand函数的种子使用。

此外,还可以使用伪随机数初始化函数randomize来动态地产生伪随机数序列.

应当注意,srand和randomize的说明在头文件stdlib.h中,time说明在头文件time.h

阅读(3561) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册