|
本帖最后由 laoau138 于 2017-5-1 19:11 编辑
VB这个冒泡排序内循环为什么
VB这个冒泡排序内循环为什么 For j = 0 To 9 - i
Option Explicit
Dim a(9) As Long '声名模块级数组a
Private Sub Command1_Click()
Dim i As Long, j As Long, b As Long
For i = 1 To 9
For j = 0 To 9 - i '冒泡排序10个数从小到大,为什么j从0开始,而不从1开始
If a(j) < a(j + 1) Then
b = a(j)
a(j) = a(j + 1)
a(j + 1) = b
End If
Next j
Next i
For i = 0 To 9
Text1.Text = Text1.Text + CStr(a(i)) + " "
If i = 4 Then Text1.Text = Text1.Text + Chr(13) + Chr(10)
Next i
End Sub
Private Sub Command2_Click()
Dim i As Long, l
Text1.Text = ""
For i = 0 To 9
N:
l = InputBox("请输入排序的10个数字,这是第" & CStr(i + 1) & "个", "提示", "")
If IsNumeric(l) Then
a(i) = l
Else
MsgBox "请输入数字", vbOKOnly, "错误"
GoTo N
End If
Next i
End Sub
问题1:For j = 0 To 9 - i ,从0开始的原因是数组a的下标是0~9,不是1~10
|
|