1樓:匿名使用者
private sub command1_click()randomize
text3.text = int(rnd * (val(text2.text) - val(text1.text))+0.5)+val(text1.text)))
''隨機*(上線-下線)+下線
'' 如果不用 +0.5 就永遠不會產生上限值,因為 rnd永遠》=0 & <1
end sub
2樓:匿名使用者
dim n1 as integer
dim n2 as integer
dim n as integer
dim k as integer
dim x as integer
dim i as integer
dim d() as integer
dim tf as boolean
n1 = cint(text1.text)n2 = cint(text2.text)n = n2 - n1 + 1
redim d(1 to n) as integerrandomize
k = 0
do while k < n
x = int((n * rnd) + n1)tf = false
for i = 1 to k
if x = d(i) then
tf = true
exit for
end if
next i
if not tf then
k = k + 1
d(k) = x
end if
loop
text3.text = ""
for i = 1 to n
text3.text = text3.text & d(i) & chr(13) + chr(10)
next i
vb隨機數的問題。
3樓:匿名使用者
我想你可能是沒有明白
1, int(x) 函式 它是取小於x的最大整數 如 a=int(-1.2) 那麼a的值是 -2 a=int(1.8) 那麼a的值是 1
2, rnd 函式 它是產生一個(0,1)間的數 注意不能產生0或1
這樣的話,這個問題就好解決了
int(rnd*(s-a+1)) 它產生的範圍是 0 到 s-a
int((s*rnd)+a) 它產生的範圍是 a 到 s+a-1
因此這兩種結果肯定是不一樣的.不知你為什麼說這兩種一樣
一般如果要產生一個[a,b]間的整數,注意這裡包括a,b. 其寫法這 int(rnd*(b-a+1)+a)
4樓:磊犇
沒太明白你的意思。
首先,定義資料型別有問題,
dim a,s,d,f,g as integer這樣寫不對,這種寫法只有變數g是整型變數,其它的就如同dim a,s,d,f 一樣。
要想定義這五個變數都是整型變數,應該這樣寫dim a as integer, s as integer, d as integer, f as integer, g as integer
再者,你寫的兩段隨機數程式的結果肯定是不同的啊,什麼叫「表示效果相同」?
比如:text1中給5,text2中給10第一段程式的d,f,g的取值範圍應該是閉區間[5,14]上的整數。
第一段程式的d,f,g的取值範圍應該是閉區間[0,5]上的整數。
不知能否可以幫到你。
vb問題 關於隨機數,一個vb問題 關於隨機數
放置一個label一個command然後把form的boarderstyle設定成3後貼上下面的 dim invalue dim arr as integer private sub command1 click 產生隨機數字 randomize dim rndnum as integerrndnu...
vb隨機數排序
在窗體中建立三個picture控制元件,並拉伸到適當大小,框中新增如下 執行點選窗體即可。private sub form click dim a 1 to 60 as integer,o 1 to 60 as integer,ji 1 to 60 as integer randomize num1...
vb程式設計如何產生1到1000的隨機數
不知道你要如何顯示,以下是在窗體上顯示的 private sub form click dim i as integer dim x as integer dim s as string for i 1 to 3 randomize x int rnd 1000 1 1 1 s s x next i...