vb陣列問題

2022-08-26 02:50:20 字數 1912 閱讀 4220

1樓:匿名使用者

教你一點關於隨機數的知識

語法 rnd[(number)]

可選的 number 引數是 single 或任何有效的數值表示式。

返回值如果 number 的值是 rnd 生成

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

大於 0 序列中的下一個隨機數。

等於 0 最近生成的數。

省略 序列中的下一個隨機數。

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

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

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

在呼叫 rnd 之前,先使用無引數的 randomize 語句初始化隨機數生成器,該生成器具有根據系統計時器得到的種子。

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

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

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

注意 若想得到重複的隨機數序列,在使用具有數值引數的 randomize 之前直接呼叫具有負引數值的 rnd。使用具有同樣 number 值的 randomize 是不會得到重複的隨機數序列的。

生成a位數的隨機數 int((10 ^ a - 10 ^ (a - 1) + 1) * rnd + 10 ^ (a - 1))

randomize 語句

初始化隨機數生成器。

語法 randomize [number]

可選的 number 引數是 variant 或任何有效的數值表示式。

說明 randomize 用 number 將 rnd 函式的隨機數生成器初始化,該隨機數生成器給 number 一個新的種子值。如果省略 number,則用系統計時器返回的值作為新的種子值。

如果沒有使用 randomize,則(無引數的)rnd 函式使用第一次呼叫 rnd 函式的種子值。

注意 若想得到重複的隨機數序列,在使用具有數值引數的 randomize 之前直接呼叫具有負引數值的 rnd。使用具有同樣 number 值的 randomize 是不會得到重複的隨機數序列的。

randomize 語句示例

本示例用 randomize 語句初始化隨機數生成器。由於忽略了數值引數, 所以 randomize 用 timer 函式的返回值作為新的隨機數種子值。

dim myvalue

randomize ' 對隨機數生成器做初始化的動作。

myvalue = int((6 * rnd) + 1) ' 生成 1 到 6 之間的隨機數值。

2樓:匿名使用者

private sub command1_click()dim s(20) as string, m as stringdim i as integer, j as integer, k as integer

randomize

m = ""

for i = 1 to 20

l = int(rnd * 10) + 1s(i) = ""

for j = 1 to l

s(i) = s(i) + chr(int(rnd * 26) + 97)

next

if len(m) < len(s(i)) then m = s(i)

if i mod 5 = 0 then

print s(i)

else

print s(i);

for k = 1 to 10 - len(s(i))print " ";

next

end if

next

print m

end sub

VB陣列輸出問題

首先糾正一個錯誤,array不能做陣列名,因為array本身就是個陣列函式。假如 右邊沒有textbox1.text1 當i 0時,array 0 1 text1box1.textbox1的值是1。當i 1 array 1 2,textbox1.text的值是2,但它將覆蓋array 0 的值,也 ...

VB陣列操作,VB怎麼宣告陣列

能你的例子 希望對你有幫助 dim a 3 as integer dim i as integer a 0 1 a 1 2 a 2 3 a 3 4 for i o to 3 text1.text text1.text a i next i vb怎麼宣告陣列 如果有規律就可以用for next 來賦值...

vb簡單陣列問題,初學者,超簡單

dim a b c i as integerprivate sub command1 click for i 0 to 4 print a i next print end sub private sub command2 click for i 0 to 4 print b i next prin...