3 用InputBox函数给数组元素赋值
Private Sub Form_Click()
Dim A(6) As Integer, V As Variant
For i = 0 To 6
A(i) = InputBox(\给数组元素赋值\数组A赋值\ Print A(i); Next i
End Sub
4 用Array函数给数组赋值
Array函数的一般使用形式如下:
〈变体变量名〉= Array([数据列表]) 功能:将一个数据集赋给一个Variant 变量,并将该变量创建成一个一维数组。 例 P93
Option Base 1
Private Sub Form_Click()
Dim A As Variant, I As Integer Dim B(4) As Variant A = Array(5, 4, 3, 2, 1)
Print A(1); A(2); A(3); A(4); A(5) A = Array(1.5, 2.3, 3.6, 4.1) Print A(1); A(2); A(3); A(4)
A = \ Print A
' B = Array(1, 2, 3, 4, 5, 6) ?注意A与B的区别
End Sub
5.2.2 数组元素的输出 例:一维数组的输出
二维数组的输出 P94 Option Explicit Option Base 1
Private Sub Form_click()
Dim k As Integer, i As Integer
Dim A(4, 5) As Integer, J As Integer, S As String '生成数组 k = 10
For i = 1 To 4
If i Mod 2 <> 0 Then '处理奇数行 For J = 1 To 5 k = k + 1
A(i, J) = k
Next J
Else
For J = 5 To 1 Step -1 '处理偶数行 k = k + 1 A(i, J) = k Next J End If Next i '数组输出
If Check1.Value <> 1 Then
For i = 1 To 4 '输出到图片框 For J = 1 To 5
Picture1.Print A(i, J); Next J
Picture1.Print Next i Else
For i = 1 To 4 '输出到多行文本框 For J = 1 To 5
S = S & Str(A(i, J)) Next J
S = S & Chr(13) & Chr(10) Next i Text1.Text = S End If End Sub
7.2.3 数组元素的引用 例5-1 P95
Option Explicit
Option Base 1
Private Sub Form_Click()
Dim Compare(12) As Integer, i As Integer Dim Max As Integer, Min As Integer Randomize For i = 1 To 12
Compare(i) = Int(90 * Rnd) + 10 Print Compare(i); Next i
Max = Compare(1): Min = Compare(1) For i = 2 To 12
If Compare(i) > Max Then Max = Compare(i)
ElseIf Compare(i) < Min Then
Min = Compare(i)
End If
Next i
Print \最大数是:\ Print \最小数是:\ End Sub
例5-7 求裴波拉契数列。
Option Base 1
Option Explicit
Private Sub Form_Click()
Dim Fb(18) As Integer, I As Integer Fb(1) = 1: Fb(2) = 1 For I = 3 To 18
Fb(I) = Fb(I - 2) + Fb(I - 1) Next I For I = 1 To 18
Text1 = Text1 & Str(Fb(I)) & \
Next I
End Sub
例5-8 : Option Explicit
Private Sub Command1_ClicK() Dim St As String, Idx As Integer Dim A(0 To 25) As Integer Dim I As Integer, js As Integer Dim CH As String * 1, L As Integer St = Text1.Text L = Len(St)
For I = 1 To L
CH = Mid(St, I, 1)
If CH >= \ Idx = Asc(CH) - Asc(\ A(Idx) = A(Idx) + 1
ElseIf CH >= \ Idx = Asc(CH) - Asc(\ A(Idx) = A(Idx) + 1 End If
Print A(Idx) Next I
For I = 0 To 25
If A(I) <> 0 Then
js = js + 1
Text2 = Text2 & Chr(I + Asc(\ If js Mod 5 = 0 Then Text2 = Text2 & Chr(13) & Chr(10) End If Next I End Sub