Option Base 1
Dim a(4, 5) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer Randomize For i = 1 To 4 For j = 1 To 5
a(i, j) = Int(Rnd * 90 + 10) Picture1.Print a(i, j); Next j
Picture1.Print Next i End Sub
Private Sub Fp(a() As Integer, i As Integer, maxj As Integer, Flg As Boolean) Dim max As Integer, j As Integer, t As Integer max = a(i, 1): maxj = 1 For j = 2 To UBound(a, 2) If a(i, j) > max Then max = a(i, j) maxj = j End If Next j
For t = 1 To UBound(a, 1) If a(t, maxj) > max Then Flg = False Exit Sub End If Next
Flg = True End Sub
Private Sub Command2_Click()
Dim i As Integer, m As Integer, mj As Integer, f As Boolean For i = 1 To 4 f = False m = 0: mj = 0
Call Fp(a, i, mj, f) If f = True Then
Text1.Text = Text1.Text & \ End If Next i End Sub
Private Sub Command3_Click() Picture1.Cls Text1.Text = \End Sub
15、编写程序,随机生成30个无重复数的三位整数,找出其中的降序数。所谓降序数是指所有高位数字都大于低位数字的数。
Private Sub Command1_Click()
Dim a(30) As Integer, i As Integer, j As Integer Dim Flag As Boolean Randomize Do
t = Int(900 * Rnd + 100) For j = 1 To i
If t = a(j) Then Exit For Next j
If j = i + 1 Then i = i + 1 a(i) = t
Text1.Text = Text1.Text + Str(a(i))
If i Mod 10 = 0 Then Text1.Text = Text1.Text + vbCrLf If IsDown(a(i)) Then List1.AddItem a(i) Flag = True End If End If
Loop Until i = 30
If Flag = False Then List1.AddItem \无降序数\End Sub
Private Function IsDown(n As Integer) As Boolean
Dim i As Integer, S As String S = CStr(n)
For i = 1 To Len(S) - 1
If Mid(S, i, 1) < Mid(S, i + 1, 1) Then Exit Function Next i
IsDown = True End Function
Private Sub Command2_Click() Text1.Text = \ List1.Clear End Sub
第七章 程序调试
实验
实验7_1
Private Sub Command1_Click() Dim A(7) As Integer, St As String Dim I As Integer, J As Integer Dim Temp As Long St = Text1.Text Temp = Val(St)
'If Temp < 1000000 Or Temp > 9999999 Then
' MsgBox \数据不合要求 \输入一个7位整数\' Exit Sub 'End If
For I = 1 To Len(Temp) A(I) = Mid$(St, I, 1) Next
For I = 1 To 6
For J = I + 1 To Len(Temp) If A(I) < A(J) Then Temp = A(I) A(I) = A(J) A(J) = Temp
End If Next Next St = \
For I = 1 To Len(Temp) St = St & A(I) Next
Text2 = St End Sub
Private Sub Command2_Click() Text1.Text = \Text2.Text = \
End Sub
Private Sub Command3_Click() End End Sub
实验7_1思考题目答案: Private Sub Command1_Click() Dim A(7) As Integer, St As String Dim I As Integer, J As Integer Dim Temp As Long St = Text1.Text Temp = Val(St)
'If Temp < 1000000 Or Temp > 9999999 Then
' MsgBox \数据不合要求 \输入一个7位整数\' Exit Sub 'End If
For I = 1 To Len(Temp) A(I) = Mid$(St, I, 1) Next
For I = 1 To 6
For J = I + 1 To Len(Temp) If A(I) < A(J) Then Temp = A(I) A(I) = A(J) A(J) = Temp End If Next Next St = \
For I = 1 To Len(Temp)
St = St & A(I) Next
Text2 = St End Sub
Private Sub Command2_Click() Text1.Text = \Text2.Text = \
End Sub
Private Sub Command3_Click() End End Sub
实验7_2改错题答案: Option Base 1
Private Sub Command1_Click()
Dim Fb(20) As Integer, i As Integer, j As Integer, k As Integer Fb(1) = 1 Fb(2) = 2 i = 2 Do
i = i + 1
Fb(i) = Fb(i - 1) + Fb(i - 2) Loop Until Fb(i) > 1000 For k = 1 To i - 1
Text1 = Text1 & \ Next
For k = 2 To i - 1
For j = 2 To Sqr(Fb(k))
If Fb(k) Mod j = 0 Then Exit For Next
If j > Sqr(Fb(k)) Then Text2 = Text2 & \ Next End Sub
Private Sub Command2_Click() End End Sub