问题 填空题

下列程序的功能是:单击窗体时将随机生成10个0~99之间的随机数,并赋值给数组A,然后利用选择法排序;并把排序后的结果输出。
Private Sub Form_Click()
Dim A(9) As Integer,i As Integer
Dim j As Integer,k As Integer
Randomize
For i=0 To 9
A(i)=Int(100*Rnd)
Next i
For i=0 To 8
k= 【9】
For j=i To 9
If(A(k)>A(j))Then
【10】
End If
Next j
If k<>i Then
t=A(k):A(k)=A(i):A(i)=t
End If
Next i
For i=0 To 9
Print A(i),
Next i
Print
End Sub

答案

参考答案:[9]i [10]k=j

解析: 选择排序法是一种简单的排序方法,其方法步骤可描述如下:
设有N个元素要从小到大排列,选择法排序过程可分为N-1轮:
第一轮:从第1~N个数中找出最小的数和第一个数交换,第一个数排好。
第二轮:从第2~N个数中找出最小的数和第二个数交换,第二个数排好。
第i轮:从第i~N个数中找出最小的数和第i个数交换,第i个数排好。
第N-1轮:从第N-1~N个数中找出最小的数与第N-1个数交换,排序结束。
本题中变量k用来记下每一轮的最小值的下标,首先认为最小值为该轮的第一个元素 a(i),它的下标是i,因此[9]处应用“i”。最小的数要和后面的每一个元素比较,如果后面的元素小,则记下它的下标,故在[10]处应用k记下较小的元素下标,应填“k=j”。

单项选择题
单项选择题