如何在C ++循環(huán)中生成不同的隨機數(shù)?每次循環(huán)運行時是否可以生成不同的隨機數(shù)。例如,我有:for (int t=0;t<10;t++){
int random_x;
srand ( time(NULL) );
random_x = rand() % 100;
cout<<"\nRandom X = "<<random_x;}但問題是,它每次都會生成相同的隨機數(shù)。每次循環(huán)運行都可以生成不同的隨機數(shù)嗎?是否有可能重置隨機數(shù)初始化?
3 回答
BIG陽
TA貢獻1859條經(jīng)驗 獲得超6個贊
您每次都獲得相同的隨機數(shù),因為您在循環(huán)內(nèi)設置種子。即使你正在使用time()它,它每秒只會改變一次,所以如果你的循環(huán)在一秒內(nèi)完成(它很可能會),你每次都會獲得相同的種子值,并且相同的初始隨機數(shù)。
將srand()呼叫移出循環(huán)(并在應用程序的開頭只調(diào)用一次),你應該得到隨機的“隨機”數(shù)字。
- 3 回答
- 0 關注
- 460 瀏覽
添加回答
舉報
0/150
提交
取消
