天狼紫枫

C++博客 首页 新随笔 联系 聚合 管理
  2 Posts :: 2 Stories :: 4 Comments :: 0 Trackbacks
标准库<cstdlib>(被包含于<iostream>中)提供两个帮助生成伪随机数的函数:

函数一:int rand(void);
从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。

函数二:void srand(unsigned seed);
参数seed是rand()的种子,用来初始化rand()的起始值。

一个通用的公式是:
要取得[a,b)之间的随机整数,使用(rand() % (b-a))+ a (结果值将含a不含b)。
在a为0的情况下,简写为rand() % b。

用rand() / double(RAND_MAX)可以取得0~1之间的浮点数(注意,不同于整型时候的公式,是除以,不是求模)这不是伪随机浮点数最好的实现方法,不过可以将就着用用…
posted on 2007-06-27 18:37 徐光宇 阅读(5865) 评论(2)  编辑 收藏 引用 所属分类: C/C++笔记

评论

# re: [C++]用rand()和srand()产生伪随机数的方法 2008-02-15 14:36 dee
建议看看这篇文章对您会有帮助的 http://www.150it.cn/bianchengwendang/Cjia/7246786549.html  回复  更多评论
  

# re: [C++]用rand()和srand()产生伪随机数的方法 2009-03-14 12:54 yys
很好 void Rand()
{ if(cd_no ==5)
cd_no = (rand() % (5-1)+ 1) ;
}
  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理