2、imin是指最小元素(min)的下標,這裏imin = 0就是暫時將a(0)當做最小的元素;
3、sum是指個元素之和,這裏sum = a(0)首先把第壹個元素寫到sum裏,後面通過um = sum + a(i)依次將其他元素加進來。所有的a(0)都是壹樣的,指當前的第壹個元素;
4、因為前面已經處理了a(0),所以就下標從1開始,而不是用LBound(a);
5、這是編程錯誤引起的。具體的位置是If a(i) < min Then min = a(i): a(imin) = i中間的 a(imin) = i,這裏本來是記錄最小元素的位置i到imin中,但寫程序的人搞錯了,把最小的元素的序號i寫到數組裏面了(本數組最小的是第六個數19,下標為5),所以最後輸出了5;
6、 t = a(0): a(0) = a(imin): a(imin) = t就是“將最小數組元素與數組中的第壹個元素交換”的代碼;imin上面已經說過了;
改錯結果為:
Private Sub command1_Click()
Dim a, i%, min%, imin%, sum%, t%
a = Array(26, 43, 61, 87, 33, 19, 37, 59, 76, 69)
min = a(0): imin = 0: sum = a(0)
For i = 1 To UBound(a)
sum = sum + a(i)
If a(i) < min Then min = a(i): imin = i
Next i
t = a(0): a(0) = a(imin): a(imin) = t
Print "數組元素和="; sum, "最小元素值為:"; a(0)
End Sub
最後運行輸出:
數組元素和= 510 最小元素值為: 19