Print a(i)
(A)49 (B)0 (C)不确定 (D)程序出错 7. 以下程序输出的结果是( )。 Option Base 1
Private Sub Commandl_Click() Dim a%(3,3) For i=1 To 3 For j=1 To 3
If i>1 And j>1 Then
a(i,j)=a(a(i-1,j-1),a(i,j-1))+1 E1se
a(i,j)=i*j End If
Print a(i,j);\; Next j Print Next i End Sub
(A)1 2 3 (B)1 2 3 (C)1 2 3 (D)1 1 1 2 3 1 1 2 3 2 4 6 2 2 2 3 2 3 1 2 3 3 6 9 3 3 3 8. 以下程序输出的结果是( )。 Option Base 1
Private Sub Command1_Click() Dim a, B(3, 3)
a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9) For i = 1 To 3 For j = 1 To 3
B(i, j) = a(i * j)
If (j >= i) Then Print Tab(j * 3); Format(B(i, j), \ Next j Print Next i End Sub
(A)1 2 3 (B)1 (C)1 4 7 (D)1 2 3 4 5 6 4 5 2 4 6 4 6 7 8 9 7 8 9 3 6 9 9 9. 下列程序段的执行结果是( )。 Dim M(10)
26
For K = 1 To 10 M(K) = 11 - K Next K X = 6
Print M(2 + M(X))
(A)2 (B)3 (C)4 (D)5 10. 下列程序段的执行结果是( )。
Private Sub Command1_Click()
Dim arr(5) As Integer, arr1(5) As Integer n = 3
For i = 1 To 5 arr(i) = i
arr1(n) = 2 * n + i Next
Print arr1(n); arr(n) End Sub
(A)3 11 (B)3 15 (C)11 3 (D)15 3 11. 在窗体上添加一个命令按钮Command1,然后编写如下事件过程,该过程的
执行结果是( )。 Option Base 1
Private Sub Command1_Click() Dim a
a = Array(1, 2, 3, 4) j = 1
For i = 4 To 1 Step -1 s = s + a(i) * j j = j * 10 Next Print s End Sub
(A)4321 (B)1234 (C)34 (D)12 12. 在窗体上有一个命令按钮Command1,然后编写如下事件过程,程序运行后,
单击按钮输出结果是( )。 Private Sub Command1_Click() Dim a(5) As String For i = 1 To 5
a(i) = Chr(Asc(\ Next
For Each b In a
27
Print b; Next End Sub
(A)ABCDE (B)abcde (C)1 2 3 4 5 (D)出错信息 13. 在程序的开始有Option Base 0,则下面定义的数组中正好可以存放1个
4×3矩阵(即只有12个元素)的是( )。 (A)Dim a(-2 To 0,2) As Integer (B)Dim a(3,2)As Integer (C)Dim a(-1 To -4,-1 To -3)As Integer(D)Dim a(4,3)As Integer 14. 在窗体上有一个命令按钮Command1,然后编写如下事件过程,程序运行后,
单击按钮输出结果是( )。 Option Base 1
Private Sub Command1_Click() Dim a(5, 5) As Integer For i = 1 To 5 For j = 1 To 5
a(i, j) = (i + j) * 5 \\ 10
Next j Next i s = 0
For i = 1 To 5 s = s + a(i, i) Next i Print s End Sub
(A)15 (B)13 (C)11 (D)9
15. 在窗体上画一个命令按钮,名为Command1,然后编写如下事件过程,程序
运行后,单击按钮输入2、3,其输出结果是( )。 Private Sub Command1_Click() Dim n() As Integer Dim a, b As Integer
a = InputBox(\ b = InputBox(\ ReDim n(a To b)
For k = LBound(n, 1) To UBound(n, 1) n(k) = k
Print \ Next k End Sub
(A)n(2)=1 (B)n(2)=2 (C)n(2)=2 (D)n(2)=3
28
n(3)=2 n(3)=1 n(3)=3 n(3)=2 16. 下列程序运行后输出结果是( )。 Dim m(2) As Integer For i = 1 To 2 m(i) = 0 Next i k = 2
For i = 1 To k For j = 1 To k m(j) = m(i) + 1 Print m(k) Next j Next i
(A)1 (B)1 (C)0 (D)0 2 2 2 1 2 3 2 2 3 4 3 3 5.2 填空题
1.随机产生6位学生的分数(分数范围1-100),存放在数组a中,以每2分一个“*”显示,如图5.1所示。 Private Sub Command1_Click( ) Dim a(1 To 6) For i=1 To 6
a(i)=( ) Print( ) Next i End Sub
图5.1 运行结果
2.在一维数组中利用移位的方法显示如图5.2所示的结果。 Private Sub Form_Click() Dim a(1 To 7) For i=1 To 7
a(i)=i:Print a(i); Next i Print
For i=1 To 7 t=( )
For j=6 To 1 Step -1 图5.2 移位显示数组 ( )
29
Next j
( ) For j=1 To 7 Print a(j); Next j Print Next i End Sub
3.下面的程序是将输入的一个数插入到按递减的有序数列中,插入后使该序列仍有序。
Private Sub Form_Click( ) Dim a,i%,n%,m%
a=Array(19,17,15,13,11,9,7,5,3,1) n=Ubound(a)
ReDim( )
m=Val(InputBox(“输入欲插入的数”)) For i=Ubound(a)-1 To 0 Step -1 If m>=a(i) Then
( ) If i=0 Then a(i)=m Else
( ) Exit For End If Next i
For i=0 To Ubound(a) Print a(i) Next i End Sub 4.冒泡法排序
在配套教材中已介绍选择法、冒泡法、合并法排序,上例使用插入法排序。 冒泡法排序与选择法排序相似,选择法排序在每一轮排序时找最大(递减次序)数的下标,出了内循环(一轮排序结束),再交换最大数的位置;而冒泡法排序在每一轮排序时将相邻的数做比较,当次序不对就交换位置,出了内循环,最大数已冒出。 冒泡法递增顺序的程序如下: Private Sub Form_Click( ) Dim a,n%,j%,i%,t
a=Array(19,5,15,7,11,9,23,6,3,1)
30