For循环返回相同的随机数10次

时间:2019-05-03 01:33:13

标签: c++ console

我正在尝试使用自定义函数来简化随机数的生成。它只能工作50%,因为它将生成一个随机数,但是在循环中使用时,它会一次又一次地生成相同的随机数。

我得到一个结果,第一个数字不同,但随后的9个相同。我无法重现这一结果。

我希望每个数字都完全不同。

代码:

#include <iostream>
#include <cstdlib>
#include <ctime>

int randomNumber(int x, int y) {
    srand(time(0));
    return x + (rand() % y);
}

int main() {

    for (int i = 0; i <= 10; i++) {
        std::cout << randomNumber(1, 100) << std::endl;
    }

    return 0;
}

可能的结果:

37
37
37
37
37
37
37
37
37
37

所需结果:

1
47
32
56
82
// and so on...

0 个答案:

没有答案