问题
单项选择题
运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是()。
Sub p1( )
Dim i, j, arr(11) As Integer
k = 1
while k <= 10
arr(k) = Val(InputBox(“请输入第” & k & “个数:”, “输入窗口” ))
k = k + 1
Wend
For i = 1 To 9
j = i + 1
If arr(i ) > arr(j) Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
End If
Debug.Print arr(i)
Next i
End Sub
A.无序数列
B.升序数列
C.降序数列
D.原输入数列
答案
参考答案:A
解析:
本题中的While循环用来进行10个数据的输入操作,存放在数组arr()中,之后的For循环是一个单循环,i从1开始,每次递增1,循环 9次,之后判断前一个数是否大于后一个数,如果大于则两者交换,之后输出。当i=1时,j=2,arr(1)小于arr(2)不交换,输出arr(1)为 10。以此类推,输出arr(2)为20,arr(3)为50。当i=4时,j=5,arr(4)大于arr(5),两者交换,输出arr(4)为交换后 的40,由此可以看出结果是无序数列。故本题答案为A)。