C 随机数生成器 - 它的变化如此缓慢。该怎么办?

标签 c random numbers

我想创建一个介于 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/

相关文章:

c - Objective-C运行时如何实例化根元类和其他类描述?

c - 退出时释放 LLVM 分配的所有内存

c++ - 我如何创建一个在单独的方法中工作的 C++ 随机正态分布?

c - 在C中生成一定范围内的随机整数值

c - 声明在函数内部创建的全局结构

c - 为什么显示超时?

javascript - 图像幻灯片和复习

java - 在 Java 中选择随机种子的跨平台方式是什么?

java - HSQLDB 中的 Oracle NUMBER(精度,小数位数)

string - 如何批量连接数字?