Print a(i)
Next End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』: 1 N = UBound(a) 2 a(N + 1) = a(L1) 3 a(L2) = T
35『Visual Basic——程序改错』
'【程序改错】496
'------------------------------------------------
'题目:使用Timer函数设计用来暂停指定时间(秒)的Sub过程。 '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Static Sub delay(delaytime) Dim finish As Single
Const allseconds = 24& * 60& * 60 '**********FOUND********** finish = delaytime
If finish > allseconds Then finish = finish - allseconds '**********FOUND********** Do While Timer < finish DoEvents Loop End If
'**********FOUND********** Do While Timer > finish DoEvents Loop End Sub
Private Sub Form_Click() Print Now delay 3 Print Now End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张
『答 案』:
1 finish =★Timer★+★delaytime
2 Do While Timer > finish 或 Do While finish < Timer 3 Do While Timer < finish 或 Do While finish > Timer
36『Visual Basic——程序改错』 '【程序改错】497
'------------------------------------------------
'题目:编程求一个十进制整数n的各位数字之和,设n为小于或等于5位的数。 '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------
Private Sub Form_Click()
Dim N As Integer, Sum As Integer, S1 As String, S2 As String Dim i As Integer, Ch As String Sum = 0
N = InputBox(\输入整数n\ S1 = Str(N)
'**********FOUND********** S1 = LTrim(S1) For i = 1 To Len(S1)
'**********FOUND********** Ch = Mid(N, i, 1)
'**********FOUND********** Sum = Val(Ch)
Next i
Print \该整数的各位数之和是:\End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 S1 = Trim(S1) 2 Ch = Mid(S1, i, 1) 3 Sum = Sum + Val(Ch) 或 Sum =★Sum★+★Val(Ch)
37『Visual Basic——程序改错』
'【程序改错】498
'------------------------------------------------
'题目:编程求一个m*n矩阵中最大元素及其所在的行列号。 '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Form_Click()
Dim A() As Integer, max As Integer
Dim M As Integer, N As Integer Dim i As Integer, j As Integer
Dim col As Integer, row As Integer M = InputBox(\输入矩阵的行数:\
N = InputBox(\输入矩阵的列数:\ ReDim A(M, N) As Integer
For i = 1 To M For j = 1 To N
A(M, N) = InputBox(\输入数组元素:\ Next j Next i
'**********FOUND********** max = A(0, 0) For i = 1 To M
For j = 1 To N
If max < A(i, j) Then max = A(i, j)
'**********FOUND********** row = j End If
'**********FOUND********** col = i Next j Next i
Print \该矩阵元素的最大值:\
Print \最大值所在的行:\所在的列:\End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 max = A(1, 1) 2 col = j 3 row = i
38『Visual Basic——程序改错』 '【程序改错】499
'------------------------------------------------
'题目:编程将一个数从已经有序(设从小到大排序)的数组 ' 中删除,使数组还继续保持有序而且其余元素按照下 ' 标连续存放。
'------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Form_Click()
Dim A() As Integer, N As Integer, Flag As Integer Dim i As Integer, X As Integer, P As Integer Flag = 0
N = InputBox(\输入元素个数\ '**********FOUND********** Dim A(N)
For i = 1 To N
A(i) = InputBox(\输入数组的第\个元素\ Next i
Print \删除某元素前的数组\ For i = 1 To N Print A(i); Next i
Start:
X = InputBox(\输入要删除的元素:\ For i = 1 To N
If X = A(i) Then P = i: Flag = 1
Next i
If Flag = 0 Then MsgBox (\没有此元素\ For i = P To N - 1
'**********FOUND********** A(i + 1) = A(i)
Next i
'**********FOUND********** N = N + 1
Print \删除元素后的数组:\ For i = 1 To N Print A(i); Next i
End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 ReDim A(N)
2 A(i) = A(i + 1) 或 A(i) = A(1 + i) 3 N = N - 1