我正在尝试为我的程序自动化测试用例,并且我想生成随机数字串来测试...第一个测试将使用基数为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