Ⅰ VB怎麼寫隨機生成10個[1,100]之間的數,並從大到小排列的程序
Dim a(10)
x = Rnd '第一個隨機數總是2
Randomize Timer
'找出隨機數
'***********************************************************
For i = 1 To 10
a(i) = Fix(1 + ((100 - 1 + 1) * Rnd)) '公式:Fix(m + (n-m+1 * Rnd))
Randomize Timer
Next i
'**************************************************************
'排序
For i = 1 To 10 - 1
For j = i + 1 To 10
If a(i) > a(j) Then
m = a(i)
a(i) = a(j)
a(j) = m
End If
Next j
Next i
abc = 0
Do While abc = 1
abc = 1
For i = 1 To 10 - 1
For j = i + 1 To 10
If a(i) > a(j) Then
a(j) = Fix(1 + ((100 - 1 + 1) * Rnd))
Randomize Timer
abc = 0
End If
Next j
Next i
Loop
'**************************************************
For i = 1 To 10
MsgBox a(i)
Next i
End
Ⅱ VB編10個隨機數,不重復怎麼做啊剛才我沒說明白
具體的程序你可以看看下面的
Dim j As Single, num(1 To 10) As Long
Private Sub Command1_Click()
Dim i As Double, min As Long, max As Long
max = 100
min = 10
j = j + 1
If j <= 10 Then
If j > 1 Then
Do
i = Rnd(1)
num(j) = min + i * (max - min)
For i = 1 To j - 1
If num(j) = num(i) Then
Exit For
Else
Exit Do
End If
Next i
Loop
Else
i = Rnd(1)
num(j) = min + i * (max - min)
End If
Print num(j)
End If
End Sub
其中的min及max分別為隨機數的下限和上限,你可以自己設置,Rnd函數可以產生0-1之間的隨機數,num()數組儲存產生的隨機數