| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 639 人关注过本帖
标题:求rand()与srand()系统中如何关联
只看楼主 加入收藏
ebao
Rank: 2
来 自:杭州
等 级:论坛游民
帖 子:33
专家分:66
注 册:2011-3-9
结帖率:100%
收藏
已结贴  问题点数:6 回复次数:7 
求rand()与srand()系统中如何关联
rand();产生随机值的原始种子与系统有关,这是系统的哪个值;
srand(seed);作用原理是什么,用seed改变系统的什么才会使rand()产生的值不同?
搜索更多相关主题的帖子: 系统 如何 
2011-04-05 19:41
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:3 
srand(time(NULL)) 只调用一次就好

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2011-04-05 19:44
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:3 
在所有函数语句的外面就一句就可以。seed不同,rand()的结果就不同。一般用系统的时间来代表seed.
srand(time(NULL));
for(int i=0;i<100;i++)
   a[i]=rand();

[ 本帖最后由 qq1023569223 于 2011-4-5 20:17 编辑 ]

   唯实惟新 至诚致志
2011-04-05 20:16
ebao
Rank: 2
来 自:杭州
等 级:论坛游民
帖 子:33
专家分:66
注 册:2011-3-9
收藏
得分:0 
回复 2楼 御坂美琴
嗯,这我知道,,还可以getch();srand((unsigned)clock());得种子么,,,
主要是srand(seek);的参数改变了什么而使rand()产生一系列数字不同了,,,如果seek=1;随机出的是一样的序列那
2011-04-05 20:25
ebao
Rank: 2
来 自:杭州
等 级:论坛游民
帖 子:33
专家分:66
注 册:2011-3-9
收藏
得分:0 
回复 3楼 qq1023569223
大哥,,原理啊
2011-04-05 20:26
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
改变了什么?你问Microsoft吧!那个算法只有他们自己知道!

   唯实惟新 至诚致志
2011-04-05 20:43
ebao
Rank: 2
来 自:杭州
等 级:论坛游民
帖 子:33
专家分:66
注 册:2011-3-9
收藏
得分:0 

线性同余法;
45
2011-04-05 21:09
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
回复 7楼 ebao
一般生成简单的随机数还是用的线性同余法,或者是它的改进方法。

这个你问 srand 干了什么,其实大约就是改了一个全局变量。rand 要用到那个变量生成随机数。
只不过这个变局变量用户不能访问(或者是不希望用户访问)。
2011-04-05 23:23
快速回复:求rand()与srand()系统中如何关联
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012581 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved