[填空題] 下列程序的功能是:單擊窗體時將隨機生成10個0~99之間的隨機數,并賦值給數組A,然后利用選擇法排序;并把排序后的結果輸出。 Private Sub
[填空題] 下列程序的功能是:單擊窗體時將隨機生成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 8k= 【9】 For j=i To 9 If(A(k)>A(j))Then 【10】 End IfNext jIf k<>i Then t=A(k):A(k)=A(i):A(i)=tEnd If Next i For i=0 To 9Print 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”。
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領域),建議您咨詢相關領域專業(yè)人士。