我正在嘗試爲我的程序自動化測試用例,並且我想生成隨機數字串來測試...第一個測試將使用基數爲2的數字,所以我想生成0和1,其長度爲n,其中n從1到100.這是我到目前爲止的內容,它一直返回相同的字符串(相同長度),只生成1或0作爲字符串的整個長度。生成隨機數的隨機數字串
int digNum = rand() % 100 + 1;
int num;
for(int i = 0; i < digNum; i++) {
num = ((double) rand()/(RAND_MAX)) + 1;
s1 = s1 + to_string(num);
}
cout << s1 << endl;
想法?
你初始化了'srand',也就是叫做'srand(time(NULL))'嗎? – muXXmit2X
想一想''(double)rand()/(RAND_MAX)'是做什麼的。然後考慮將其轉換爲整數時會發生什麼。 –
你應該看看[隨機](http://en.cppreference.com/w/cpp/numeric/random)標準庫(從C++ 11開始可用) - 它比'rand()'更通用。 。 – Holt