int main()
{
srand((unsigned)time(0));
int random_integer;
int lowest=0, highest=10;
int range=(highest-lowest)+1;
for(int index=0; index<20; index++){
random_integer = (rand() % range) + lowest/(RAND_MAX + 1.0);
cout << random_integer << endl;
}
}
我得到的输出从0到10,11数字,但我不想得到数字10,只是数字0到9,这意味着10个随机数字,应该是什么我做?C++生成随机数-1
删除范围评估中的“+ 1”。 – Alexander 2012-03-01 11:47:54
将'highest = 10'改为'highest = 9'?我不会以任何其他方式更改代码,因为您的变量给人的印象是它应该给出“最高”的10个数字......如果遵循亚历山大的建议,这将不再适用。 – Rookie 2012-03-01 11:48:35
可能的重复[从一个范围生成随机整数](http://stackoverflow.com/questions/5008804/generating-random-integer-from-a-range) – Mark 2012-03-01 11:49:25