避免使用srand()重复生成种子

我有一个典型的情况,我需要生成一批随机数。我使用了一个循环,每次通过都会生成100个随机数:

for(int i=0; i<npasses; i++)

{

srand(time(NULL)); //Initialize seed

for(int j=0; j<100; j++)

printf("%d ", rand()%10);

printf("\n"); //New line after 100 numbers

}

现在,内部循环的执行时间不到一毫秒。结果,time()的值没有变化。这会将种子(srand())重新初始化为相同的值,并且我的随机数被重复。

任何人都可以建议解决方法/修复。

回答:

在循环之前,将种子设置一次。

以上是 避免使用srand()重复生成种子 的全部内容, 来源链接: utcz.com/qa/410242.html

回到顶部