2013-07-28 130 views
2

我有polje[i]=rand()%30+1;爲1-30之間的隨機數,但我怎樣才能使它在10到30之間?C - 10和30之間的隨機數

+0

的可能重複的[如何生成從一個範圍內的隨機數 - C](http://stackoverflow.com/questions/2509679/how從一個範圍內生成一個隨機數-c)和[在整個範圍內統一生成隨機數](http://stackoverflow.com/questions/288739/generate-random-numbers - 整個範圍內均勻) – 2013-07-28 14:34:19

+0

稍晚但最簡單的答案是int random = arc4random_uniform(20)+ 10; –

回答

1

如何使用rand()%20 + 11?有了這個,你可以生成從10到29的隨機數。Dint這項工作?或者試試rand()%21 + 10這個也會包含30個。

4
polje[i]=rand()%21+10; 

的21%,爲您提供0到20之間的數字增加10,給你10和30

棘手的問題......希望幫助之間的一個數...

+0

澄清的另一種方法是'21 =(30-10)+ 1'和'+ 10'表示起始數字。所以你可以有'min = 10;最大= 30;範圍=最大 - 最小; polje [i] = rand()%(range + 1)+ min;' –

1

你可以嘗試rand()%21 + 10;

回答是的範圍(10,30)