编程论坛
注册
登录
编程论坛
→
C++教室
求教:time的随机数 怎样做到不重复
神一般的狄狄
发布于 2009-10-26 09:36, 1119 次点击
套在for里面
由于循环时间间隔太短,出来的数字 都是相同的
6 回复
#2
qlc00
2009-10-26 16:25
可以当期的时间选定一个种子,然后在种子的基础上来随即!,这样出来的数字就不会相同!
#3
qlc00
2009-10-26 16:33
C++中一函数srand(),可以指定不同的数(无符号整数变元)为种子。但是如果种子相同,伪随机数列也相同。
#4
flyingcloude
2009-10-26 19:05
选时间做为种子
#5
newCpp
2009-10-27 23:14
你可以判断一下,如果重复了!再次执行一次随机数的赋值!
这样保证不会重复的O(∩_∩)O哈!!
#6
xyg1234
2009-10-28 11:53
#include <time.h>
#include <stdlib.h> //不是很确定是这个文件头!
#include <stdio.h>
viod main(void)
{
int x;
srand(time(0));
for(int i=0;i<10;i++)
{
x=rand();
printf("x\n");
}
}
[
本帖最后由 xyg1234 于 2009-10-28 12:10 编辑
]
#7
wing049
2010-06-23 15:07
srand(time(NULL)); //随机系统清零
for(j=0;j<M;j++,n++)//设置循环生成随机数 M为生成的个数
num[j]=rand()%range;//生成随机数 range为范围
系统清零的语句要在循环外 这样就不会一直都是重复的了
1