當前位置:編程學習大全網 - 編程軟體 - 壹道VB題 希望各位大俠幫忙

壹道VB題 希望各位大俠幫忙

1、a(0)就是下標為零的數組元素,也就是後面說的“第壹個元素”;

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

  • 上一篇:camworks和solidcam哪個好用
  • 下一篇:數字音樂教室有什麽特點?
  • copyright 2024編程學習大全網