标题:[讨论]随机问题
只看楼主
Tainform
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-9-26
 问题点数:0 回复次数:59 
[讨论]随机问题
请问怎样才能实现真正的随机,用srand(),random()?
搜索更多相关主题的帖子: 随机 
2004-09-26 12:12
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
得分:0 

在每次使用这两个函数之前,

使用一个:randomize();函数就可以改变随机值。


2004-09-26 12:31
Tainform
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-9-26
得分:0 
具体一点呢?3q
2004-09-27 21:01
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
得分:0 

比如说:要出现10个不随机值:

int a,i;

for(i=1;i<11;i++)

{randomize();

a=random(100); 0~99的随机数

printf("%5d",a);

}

这样就可以了!


2004-09-27 21:48
Tainform
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-9-26
得分:0 
randomize()的作用是什么?是设定随即种子吗?3q
2004-09-29 10:11
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
得分:0 

是这个意思!


差点把你忘了...
2004-09-29 10:23
Tainform
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-9-26
得分:0 
那用srand()不是一样嘛?
2004-09-29 19:17
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
得分:0 
我没用过srand(),不知道怎么用?

2004-09-29 21:46
Tainform
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-9-26
得分:0 

.......但是当在一个for循环里时,比如

for(;;)

{

srand(time(NULL));

random(9);

}

由于在一秒内机子已经运行了很多次了,所以这里的time(NULL)在这一秒内都是同样的值,所以random(9)在这一秒内产生的随即序列是一样的,如何解决这个问题?

2004-09-29 21:56
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
得分:0 

换个函数,用 randomize()


2004-09-29 22:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-5725-1-1.html




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

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