我想创建一个介于 1-10000 之间的数字。
#include <stdio.h>
#include <stdlib.h>
int main() {
int numb;
srand(time(NULL));
numb = (rand()%9999)+1;
printf("%d", numb);
}
但由于某种原因,它生成数字的速度非常慢。我的意思是,假设我运行了这个程序。一秒钟后它给了我一个“1145”,我再次运行它并显示“1151”... 5 秒后,它显示“1211”
如您所见,它们的数字非常接近。我希望它改变得如此之快。如果我在 5 秒内使用它 5 次,我想要 49、1124、6665、9000、140 等数字......
我该怎么做才能做到这一点?对不起英语,提前致谢...
最佳答案
C 随机数生成器未设计为重复重新播种,并且播种到时钟时间可能会在最后一秒左右生成相同的序列。
从本质上讲,您需要保持生成器进程正常运行,这样您就不需要重新播种它。
关于C 随机数生成器 - 它的变化如此缓慢。该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49111685/