如何使vb產生隨機正整數,如何使VB中Rnd函式產生的隨機數是在 0,1 內?

時間 2022-01-06 23:50:08

1樓:it趣科技

zheng0823的回答有點小問題,你那樣永遠得不到38,應該37改為38

同理你command2的事件裡28改為29,不然最大只能得到66因為rnd函式返回的範圍是(0,1]

包含0 ,但不包含1

還有沒有初始化隨機數種子

修改後的**:

private sub command1_click()randomize

dim a as integer

a = int(rnd * 38) + 1text1.text = a

end sub

private sub command2_click()randomize

dim a as integer

a = int(rnd * 29) + 39text1.text = a

end sub

2樓:天蠍神經俠侶

private sub command2_click()dim n as integer

n = val(inputbox("請你輸入隨機數個數"))for i = 1 to n

print int(100 * rnd);

if i mod 10 = 0 then printnext i

end sub

3樓:藍色無限

樓上這位

(0,1]是不包含0,包含1的

應該這樣與[0,1)

4樓:匿名使用者

int( rnd + lowerbound)

5樓:匿名使用者

randomize

int number = (最小值-最大值)*rnd + 最大值

vb中如何產生30個0651000的隨機整數

6樓:兄弟連教育北京總校

option explicit

option base 1

private sub form_click()randomize

dim i as integer, j as integer, temp as integer

dim a(30) as integer

for i = 1 to 30

a(i) = int(90 * rnd + 10)next i

for i = 1 to 29

for j = i + 1 to 30

if a(i) > a(j) then

temp = a(i)

a(i) = a(j)

a(j) = temp

end if

next j

next i

for i = 1 to 30

if a(i) mod 2 <> 0 then print a(i):

next i

end sub

vb中用隨機函式產生乙個兩位的隨機正整數的公式是什麼?

7樓:百變大狸子

int((rnd*b-a+1 )+a)

8樓:匿名使用者

若要生成 a 與 b 之間的隨機實數,請使用:

rand()*(b-a)+a

兩位的隨機正整數的話,a=10,b=99

如何使vb中rnd函式產生的隨機數是在[0,1]內?

9樓:匿名使用者

只能得到[0,1)上的隨機數,1取不到。即使如此,可以視作rnd[0,1]上的隨機數,因為x=1的概率無限接近0.

rnd,visual basic中隨機函式。格式:rnd(《數值表示式》)功能:求[0,1)之間的乙個隨機數。

語法:rnd[(number)]

如果 number 的值是 randomize 生成

小於 0 ,每次都使用 number 作為隨機數種子得到的相同結果。

大於 0 ,以上乙個隨機數為種子產生下乙個隨機數。

等於 0 ,產生與最近生成的隨機數相同的隨機數。

省略, 以上乙個隨機數為種子產生下乙個隨機數。

說明rnd 函式返回小於 1 但大於或等於 0 的值。

number 的值決定了 rnd 生成隨機數的方式。

對最初給定的種子都會生成相同的數列,因為每一次呼叫 rnd 函式都用數列中的前乙個數作為下乙個數的種子。

在呼叫 rnd 之前,先使用無引數的 randomize語句初始化隨機數生成器(若帶引數,則產生由引數對應的乙個特定序列的隨機數),該生成器具有根據系統計時器得到的種子。

為了生成某個範圍內的隨機整數,可使用以下公式:

int((upperbound - lowerbound + 1) * rnd + lowerbound)

這裡,upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。

10樓:

vb中rnd函式產生的隨機數本來就是0~1之間,0

11樓:匿名使用者

vb的rnd函式,其作用就是產生(0,1)之間的隨機數,還不是[0,1]。

即:0 < rnd < 1

根據上式,結合vb的int()等函式,可以產生你所需要的任意範圍內的隨機數。

例如1:根據 0 < rnd < 1

那麼就有: 0 < rnd *10 < 10 產生(0,10)之間的隨機數,注意這是實數

例如2: 0 <= int(rnd *10)< 10 產生[0,10)之間的隨機數,注意這是正整數

例如3: 1 <= int(rnd *10)+ 1 <= 10 產生[1,10]之間的隨機數,注意這是正整數等等

12樓:唐勝希

可以這樣來做

round(rnd,1)

請問怎樣在vb生成乙個1到100的隨機整數?

13樓:曹曉山

vb生成1-100之間

bai的隨機整數,du可以使用系統自帶的rnd()方法zhi進行實現,dao**如下:

private sub command_click()dim myvalue //定義乙個版隨機數權myvalue = int((100 * rnd) + 1) //rnd()函式生成隨機數

print myvalue //列印出這個隨機數end sub

private sub form_load()randomize //初始化隨機數生成器end sub

14樓:匿名使用者

private sub command1_click()dim myvalue

myvalue = int((100 * rnd) + 1)print myvalue

end sub

private sub form_load()randomize

end sub

15樓:匿名使用者

int(rnd*100 + 1),rnd生成0~1之間的實數,

回rnd*100生成0~100之間的實數,rnd*100+1 生成1~101之間的實數,int使隨機數向下取整,由答於rnd生成的實數小於1,所以實際生成的是1~100之間的整數。

java如何產生1 8的整數隨機數

簡單粗暴。int num int math.random 100 math.random 返回的是一個大於等於0小於1的double型別。 math.random 會產生 0,1 區間中的雙復精度制浮點隨機數,所以 math.random 100 就會生成一個100以內的隨機數浮點數,如果需要整數的...

VB編寫,產生隨機二位整數,存入陣列中,計算總和,將陣列元素按升序排序,並按每行列印輸出

火鍋兎 被計算機2級考試折磨的可憐娃兒 private sub form load dim mr 1 to 50 as byte,x as byte dim i as long,j as long,t as long,b as boolean dim so as string 產生50個隨機二位整數...

如何使鐵產生永久磁性,怎樣使鐵變成帶磁性的鐵??

將一塊強磁物放在鐵器表面,向一個方向反覆摩擦 不能來回擦 多次即可 在另一塊磁鐵上沿一個方向磨就會產生磁性 磁化就可以啦。問題是不同種類的鐵磁化的的效果也不同。不知道你是那種鐵? 福爾民 一直通電 最好用鋼鐵 怎樣使鐵變成帶磁性的鐵? 用磁鐵等磁性物質磁化即可。如鐵釘在磁鐵上磨過後就會有磁性 1通電...