注册 登录
编程论坛 VB6论坛

求解答数组排序 求指导

xero 发布于 2013-04-13 15:27, 561 次点击
Private Sub Command1_Click()
Dim s() As Integer
 s = Array(0, 55, 44, 888)
 For i = 1 To 4
  For j = (i + 1) To 4
  If s(i) > s(j) Then t = s(i): s(i) = s(j): s(j) = t:
  
  Next j
Next i
For i = 1 To 4
Print s(i)
Next i
End Sub
我不明白如何出错了??
新手
4 回复
#2
vbload2013-04-13 20:37
建议先找到例子看看。
#3
ZaneYork2013-04-15 01:48
数组的下标是从0开始计算的,所以应该是:
程序代码:
Private Sub Command1_Click()
Dim s() As Integer
s = Array(0, 55, 44, 888)
For i = 0 To 3
  For j = (i + 1) To 3
      If s(i) > s(j) Then
        t = s(i): s(i) = s(j): s(j) = t    '没事别把代码整到单行上,那样你写的累,别人看的也累。编译器也不会提高几毛钱的效率
      End if
  Next j
Next i
For i = 0 To 3
Print s(i)
Next i
End Sub
#4
bczgvip2013-04-15 08:55
Dim s as variant
s = Array(0, 55, 44, 888) ' type variant()
#5
za5695788982013-07-19 17:02
Private Sub Command1_Click()
 Dim s as variant
 s = Array(0, 55, 44, 888)
 For i = 0 To 2
   For j = (i + 1) To 3
   If s(i) > s(j) Then t = s(i): s(i) = s(j): s(j) = t
   
   Next j
 Next i
 For i = 0 To 3
 Print s(i)  

 Next i
 End Sub
1