问题 单项选择题

窗体上有一个名为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。

单项选择题
单项选择题