相关疑难解决方法(0)

为什么我总是使用rand()得到相同的随机数序列?

这是我第一次用C语言尝试随机数(我想念C#).这是我的代码:

int i, j = 0;
for(i = 0; i <= 10; i++) {
    j = rand();
    printf("j = %d\n", j);
}
Run Code Online (Sandbox Code Playgroud)

使用此代码,每次运行代码时都会得到相同的序列.但是如果我srand(/*somevalue/*)for循环之前添加,它会生成不同的随机序列.有谁能解释为什么?

c random

50
推荐指数
6
解决办法
11万
查看次数

如何在C++循环中生成不同的随机数?

每次循环运行时是否可以生成不同的随机数.例如,我有:

for (int t=0;t<10;t++)
{
    int random_x;
    srand ( time(NULL) );
    random_x = rand() % 100;
    cout<<"\nRandom X = "<<random_x;
} 
Run Code Online (Sandbox Code Playgroud)

但问题是,它每次都会生成相同的随机数.每次循环运行都可以生成不同的随机数吗?

是否有可能重置随机数初始化?

c++ random loops

19
推荐指数
3
解决办法
11万
查看次数

标签 统计

random ×2

c ×1

c++ ×1

loops ×1