vb数组排序问题
来源:百度知道 编辑:UC知道 时间:2024/06/23 00:26:20
题目如附图。我运行后发现text2全部显示0,为什么?
我的代码:
Option Explicit
Option Base 1
Dim N As Integer, x(15) As Integer
Private Sub command1_click()
'''不得删除本行注释
Dim i As Integer
For i = 1 To 15
N = Int(Rnd * 101)
Text1.Text = Text1.Text + Str(N)
Next i
End Sub
Private Sub Command2_Click()
'''不得删除本行注释
Dim m As Integer, K As Integer
For N = 1 To 15
For m = N + 1 To 15
If x(m) > x(N) Then
K = x(N)
x(N) = x(m)
x(m) = K
End If
Next m
Text2.Text = Text2.Text + Str(x(N))
Next N
End Sub
我的代码:
Option Explicit
Option Base 1
Dim N As Integer, x(15) As Integer
Private Sub command1_click()
'''不得删除本行注释
Dim i As Integer
For i = 1 To 15
N = Int(Rnd * 101)
Text1.Text = Text1.Text + Str(N)
Next i
End Sub
Private Sub Command2_Click()
'''不得删除本行注释
Dim m As Integer, K As Integer
For N = 1 To 15
For m = N + 1 To 15
If x(m) > x(N) Then
K = x(N)
x(N) = x(m)
x(m) = K
End If
Next m
Text2.Text = Text2.Text + Str(x(N))
Next N
End Sub
你的x(N)根本没有白赋值,自然为默认值0了。
帮你改了一下
Option Explicit
Option Base 1
Dim N As Integer, x(15) As Integer
Private Sub command1_click()
'''不得删除本行注释
Dim i As Integer
For i = 1 To 15
N = Int(Rnd * 101)
Text1.Text = Text1.Text + Str(N)
x(i) = N
Next i
End Sub
Private Sub Command2_Click()
'''不得删除本行注释
Dim m As Integer, K As Integer
For N = 1 To 15
For m = N + 1 To 15
If x(m) > x(N) Then
K = x(N)
x(N) = x(m)
x(m) = K
End If
Next m
Text2.Text = Text2.Text + Str(x(N))
Next N
End Sub
Option Explicit
Option Base 1
Dim N As Integer, x(15) As Integer
Private Sub command1_click()
'''不得删除本行注释
text1=""
Dim i As Integer
For i = 1 To 15
x(i) = Int(Rnd * 101)
Text1.Text = Text1.Text & Str(x(i))
Next i
End Sub<