函数srand在C太慢++它返回相同数量(srand is too slow in C++ it r

2019-07-30 14:29发布

我只是想有根本RndInt(限制)函数将返回的随机数的限制为限。

    cout << "Enter higher limit of random range:" ;
 cin >> limit;
 while(limit != 0)

{
//        RndInt(limit);
    cout << "Random number smaller than " << limit << " is " << RndInt(limit) << endl;
    cin.get();
    cin.get();
    cout << "Other random number smaller than " << limit << " is " << RndInt(limit) << endl;
    cin.get();
    cin.get();
    cout << "There is " << RndInt(limit) << " ways I love you" <<endl ;
    cout << "Enter higher limit of random range:" ;
    cin >> limit;
}
return 0;
}

int RndInt(int limit)
{
srand(time(&base));
int rndnumber;
rndnumber=rand()%limit;
base+=100;
return rndnumber;
}

我有问题,使RndInt后续调用显示不同的整数。 当调试到RndInt其优良的后续调用(限制)给予不同的价值。 但是,当我尝试不cin.get运行它()用于暂停我得到了所有的三个电话相同的数字。 我想通了,问题是,种子是在同一秒。

我的问题是如何对RndInt调用,无需暂停返回不同的值。 怎样做才能srand函数?

Answer 1:

不要调用srand()你想有一个随机数每次。 调用srand() 一旦在程序的开始,然后调用rand()的每个号码。



文章来源: srand is too slow in C++ it return same number