问题
单项选择题
窗体上有一个名为Command1的命令按钮,并有下面的程序:
Private Sub Command1_Click()
Dim arr(5) As Integer
For k = 1 To 5
arr(k) = k
Next k
prog arr()
For k = 1 To 5
Print arr(k);
Next k
End Sub
Sub prog(a() As Integer)
n = UBound(a)
For i = n To 2 step-1
For j = 1 To n-1
if a(j) < a(j+1) Then
t=a(j):a(j)=a(j+1):a(j+1)=t
End If
Next j
Next i
End Sub
程序运行时,单击命令按钮后显示的是( )。
A) 1 2 3 4 5
B) 5 4 3 2 1
C) 0 1 2 3 4 D) 4 3 2 1 0
答案
参考答案:B
解析: 程序对数组元素赋初值为1、2、3、4、5。Ubound函数返回数组可用的最大下标,过程prog的功能是遍历数组对数组中的元素进行排序,由条件a(j)<a(j+1)可知程序是将数组按从大到小排序。当用数组作为过程的参数时,使用的是“传地址”方式,因此程序输出的是排序后的数组元素值,即5、4、3、2、1。