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