在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Option Base 1
Private Sub Command1_Click()
Dim a(10)As Integer
For i=1 To 10
a(i)=i
Next
Call swap (______)
For i=1 To 10
Print a(i)
Next
End Sub
Sub swap(b()As Integer)
n=______
For i=1 To n/2
t=b(i)
b(i)=b(n)
b(n)=t
______
Next
End Sub
上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换。请填空。
参考答案:a() UBound(b) n=n-1
解析: 结合下面的程序可知函数swap的形式参数是一个数组,结合题目易知应该是a数组。
UBound(arrayname[,dimension])函数是返回指定数组维数的最大可用下标。由于要将整个数组的元素进行诸如a(1)和a(10)的对换,故必须要得其最大下标。
For循环就是将数组中的元素进行对换,由上知n中放的是数组的最大下标,即最后一个元素的下标,于是For循环中的循环变量i从1开始到n/2,利用中间变量t,将b(i)与b(n)进行对换,由于是对应对换的,故每对换一次n也应该向前推进一位,即n=n-1。