利用VB產生隨機數的一個例子:
Private Sub Command1_Click()
Dim i As Integer '作爲計數器
For i = 1 To 20
Randomize
a(i) = (1000 - 100 + 1) * Rnd + 100 '產生隨機數
Next i
Dim str1 As String
Dim m As Integer
For m = 1 To 20
str1 = str1 + Str(a(m))
Next m
Text1.Text = str1
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To 20
If a(i) Mod 2 = 0 Then
a(i) = 0
End If
Next i
'對產生的隨機數進行排序
Dim j As Integer, k As Integer
Dim temp As Integer
For j = 1 To 20
For k = 1 To 20 - j
If a(k) > a(k + 1) Then
temp = a(k)
a(k) = a(k + 1)
a(k + 1) = temp
End If
Next k
Next j
Dim str2 As String
For i = 1 To 20
If a(i) = 0 Then
GoTo Next1
Else
str2 = str2 + Str(a(i))
End If
Next1:
Next i
Text2.Text = str2
End Sub
增加一個模塊:Global a(1 To 20) As Integer ,全局變量
效果:
關於隨機數:
1.首先是在VB下產生隨機數,一般是以Value=int((upper- lower+1)*Rnd+lower),其中upper是上限,lower是下限,這樣其實是僞隨機數,既會產生相同的數據,再加上Randomize 語句既可以產生真正的隨機數。然而這個方法並非是最好的,在調試的時候產生的隨機數沒有變化。
2.Randomize
a(i) = (1000 - 100 + 1) * Rnd + 100 '產生隨機數
使用這個方法即可產生真正的隨機數,並且保證在調試的時候不產生一樣的數據!
3.在C++裏面則使用這個函數產生隨機數:value=rand()%100;產生0到100的數據,不包括 100,這個也不會達到理想狀態,我們需要增加一個種子,srand(time(0));這樣纔不會每次都產生一樣的數據,(包含#include <ctime>頭文件)。
4.關於time_t time(0):time_t被定義爲長整型,它返回從1970年1月1日零時零分零秒到目前爲止所經過的時間,單位爲秒。
這些只是簡單的隨機數介紹!關於隨機數的還有更多內容!那就Google吧!!!