C ++ - rand()函数不起作用,数字不超过32,000

时间:2015-11-17 22:38:01

标签: c++ random

我正在尝试创建从0到大约200,000的随机数,但是值不会超过33,000。即使我尝试不同的价值,他们仍然不会超过33k。我试着播种,但仍然没有。当我了解这个功能时,我错过了什么吗?感谢。

srand(time(0));
for (int count = 190000; count < 200000; count++)
    cout << rand() % 200001 << " ";

1 个答案:

答案 0 :(得分:2)

使您的值范围与值rand()返回值的范围无关。

int getMyRandomNumber()
{
    static int MY_RANGE_MAX = 200001;
    return (1.0*rand()/RAND_MAX)*MY_RANGE_MAX;
}

并将其用作:

for (int count = 190000; count < 200000; count++)
    cout << getMyRandomNumber() << " ";