1樓:
private sub command1_click()dim a(10) as integer
for i = 1 to 10
for j = 1 to 10
a(i) = int(rnd * 100)a(j) = int(rnd * 100)if a(i) = a(j) then a(i) = a(i) + 1
next
next
for i = 1 to 10
for j = 1 to 9
if a(i) > a(j) then t = a(i): a(i) = a(j): a(j) = t
next
next
for i = 1 to 10
text1.text = a(1)
text2.text = a(2)
text3.text = a(3)
text4.text = a(4)
text5.text = a(5)
text6.text = a(6)
text7.text = a(7)
text8.text = a(8)
text9.text = a(9)
text10.text = a(10)
next
end sub
你建10上文字框和一個命令框!將**輸入命令按鈕就可以了
2樓:歐聯科技
dim i as long
for i=1 to 10
print 2i + int((2i+2-2i)*rnd())next
int((2i+2-2i)*rnd()):意思是 隨機生成一個從1到2i+2-2i也就是2 之間的數,加上2i以後,就變成隨機生成一個從2i+1 到 2i+2 之間的隨機數。 總之設計思路就是這樣的,可以根據自己的要求稍加修改。
vb 隨機數問題 10
3樓:宇桐非吧外交
隨機出來的怎麼會?除非是你的隨機種子沒寫好~估計你的程式每次隨機出來的數字都是一樣的,比如第一次執行隨即數字:18 15 14 2 3 7 第二次還是
18 15 14 2 3 7
你試試這兩行語言
randomize
for u =1 to 100
a=int(rnd* 19)+ 1
next u
應該不會出現你說的問題了
4樓:匿名使用者
vb 隨機數頻率控制
'新增 command1
'0-59為小數, 60以上為大數
'i 是要執行幾次
'jj 是得到的隨機數
'kk 是控制每10個數則換行顯示
'minnum 是統計小數出現的次數
'getrnd 本次得到的隨機數是否有效
dim countrnd%, i%, jj%, kk%, minnum%, getrnd as boolean
private sub form_load()me.autoredraw = true
end sub
private sub command1_click()randomize
getrnd = false
countrnd = 0: kk = 0: minnum = 0me.cls
for i = 1 to 100
dojj = int(rnd * 100)if jj >= 60 then
me.forecolor = qbcolor(0)print jj;
kk = kk + 1
if kk mod 10 = 0 then printexit do
end if
if getrnd then
me.forecolor = qbcolor(12)print jj;
kk = kk + 1
minnum = minnum + 1
if kk mod 10 = 0 then printgetrnd = false
countrnd = 0
exit do
end if
loop
countrnd = countrnd + 1if countrnd > 6 then getrnd = true '使用6來控制出現小數的頻率,數字越大則出現頻率越少
next i
msgbox "小數出現 " & cstr(minnum) & " 次"
end sub
5樓:vi六
這個簡單,先設定一個機率範圍再拿隨機數進行比較,比如1的範圍就是1,2的範圍就是2到3,3的範圍就是4到6,隨機數的範圍是1到6然後就對生成的100隨機數進行判斷在哪個範圍內就輸出哪個,比隨機數是5就輸出3,就這樣3的數字最大範圍就最大幾得到隨機數在3的範圍的機率也最大,以次類推可以推到20為止,隨機數的範圍是1到20範圍的最大值!
vb隨機數問題
6樓:匿名使用者
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
7樓:匿名使用者
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隨機數的問題。
8樓:匿名使用者
我想你可能是沒有明白
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)
9樓:磊犇
沒太明白你的意思。
首先,定義資料型別有問題,
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隨機數問題
10樓:匿名使用者
private sub form_dblclick()dim s1 as integer, s2 as integer, s3 as integer, i as integer, irnd as integer
randomize
for i = 1 to 100
irnd = int(rnd * 90+10)print irnd
select case irnd
case 10 to 40
s1 = s1 + 1
case 40 to 70
s2 = s2 + 1
case 70 to 99
s3 = s3 + 1
end select
next
print "小於等於40的個數為:" & s1print "大於40小於等於70的個數為:" & s2print "大於70的個數為:" & s3end sub
經測試 ok!
11樓:匿名使用者
應該要吧中100個陣列寫到資料庫 在查詢出來
12樓:匿名使用者
dim s1 as integer, s2 as integer, s3 as integer, i as integer, irnd as integer
randomize
for i = 1 to 100
irnd = int(rnd * 90+10)if irnd <= 40 then
s1 = s1 + 1
elseif irnd > 40 and irnd <= 70 then
s2 = s2 + 1
else
s3 = s3 + 1
end if
next
msgbox "小於等於40的個數為:" & s1 & vbcrlf & "大於40小於等於70的個數為:" & s2 & vbcrlf & "大於70的個數為:" & s3
13樓:匿名使用者
option explicit
option base 1
dim arr(100) as singledim i as integer
private sub command1_click()for i = 1 to 100
arr(i) = rnd * 90+10
print arr(i),
if i mod 10 = 0 then printnext i
end sub
private sub command2_click()dim a, b, c as integerfor i = 1 to 100
if arr(i) <= 40 then
a = a + 1
elseif arr(i) > 40 and arr(i) <= 70 then
b = b + 1
else
c = c + 1
end if
next i
print "小於等於40:", a; "大於40小於等於70:", b; "大於70:", c
end sub
至於相對應的控制元件自己設定
如何使vb中rnd函式產生的隨機數是在
只能得到 0,1 上的隨機數,1取不到。即使如此,可以視作rnd 0,1 上的隨機數,因為x 1的概率無限接近0.rnd,visual basic中隨機函式。格式 rnd 數值表示式 功能 求 0,1 之間的一個隨機數。語法 rnd number 如果 number 的值是 randomize 生成...
c中關於隨機數rand和,C中關於隨機數rand和srand
先看看下面的一段關於rand 與srand 的講解 1.在標準的c庫中函式rand 可以生成0 rand max之間的一個隨機數回,其答中rand max 是stdlib.h 中定義的一個整數,它與系統有關。2.rand 函式沒有輸入引數,直接通過表示式rand 來引用 例如可以用下面的語句來列印兩...
c語言問題,請問如何才能產生隨機數
srand int value rand max 1 min min c語言怎樣產生一定範圍的隨機數?編譯環境為 vs2013 產生1到3的整型隨機數的 如下 include include include define max 3 這個函式的意義為 隨機生成最大的數為3 define min 1 ...