请教如何生成随机数

gloom 2002-04-23 11:33:43
我用randomize()和rand()来生成随机数,可是如果两时间间隔较短的话生成的结果是一样的,怎么能快速地生成不同的随机数啊?
...全文
46 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gloom 2002-04-24
  • 打赏
  • 举报
回复
呵呵,oyxiaoyu0(小雨仔)回答也是正确的,谢谢
gloom 2002-04-24
  • 打赏
  • 举报
回复
版主解答正确,oyxiaoyu0(小雨仔)的回答我还没试过,也谢谢其它人的积极参与
mikesome 2002-04-23
  • 打赏
  • 举报
回复
一样的话重新生成一个,直到不一样为止
Wingsun 2002-04-23
  • 打赏
  • 举报
回复
设置不同的RandSeed来解决这个问题,RandSeed是系统定义的一个全局变量。
oyxiaoyu0 2002-04-23
  • 打赏
  • 举报
回复
rand()函数产生的是伪随机数
需要料用一次srand(seed)
unsigned seed

seed是种子一般可写成time()
#include <stdlib.h>
#include <time.h>
void main()
{
int a[10];
srand(time(null));
for(int i=0;i<10;i++)
{
a[i]=rand();
printf("a[%d]=%d \n",i,a[i]);
}
}
这样你产生的随机数就不重复了!
wgysure 2002-04-23
  • 打赏
  • 举报
回复
在应用程序启动时调用randomize()过程初始化内部随机数产生器;
然后只要不断调用random()就可以了,
我试了一下,如果总是连续调用randomize(),random()就会出现你那种情况.
sinmin 2002-04-23
  • 打赏
  • 举报
回复
其实radnomize()函数应该只在程序启动的时候调用一次就行了, 或者间隔较长时间再调用一次.如果你频繁调用randomize(), 有可能产生相同的随机数

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧