VB求助!!

来源:百度知道 编辑:UC知道 时间:2024/05/31 16:04:04
题目是提取text1中的以空格间隔的数字,要求从大到小放在text2里面。。帮忙看看哪儿错了~~~
Private Sub Command1_Click()
Dim x() As String, y() As String
x = Split(Text1.Text, " ")
n = UBound(x)
ReDim y(n + 2)
For i = 0 To n
y(i) = x(i)
For k = 0 To i
If Val(x(i)) > Val(x(k)) Then
For j = i To (k + 1) Step -1
y(j) = y(j - 1)
Next
y(k) = x(i)
Exit For
End If
Next
Next
For h = 0 To n
Text2.Text = Text2.Text & y(h) & ","
Next
End Sub

Private Sub Command1_Click()
Dim x() As String, y() As String
Dim I As Integer, J As Integer, K As Integer, H As Integer, N As Integer
x = Split(Text1.Text, " ")
N = UBound(x)
ReDim y(N + 2)
For I = 0 To N
y(I) = x(I)
For K = 0 To I
If Val(y(I)) > Val(y(K)) Then
For J = I To (K + 1) Step -1
y(J) = y(J - 1)
Next
y(K) = x(I)
Exit For
End If
Next
Next
For H = 0 To N
Text2.Text = Text2.Text & y(H) & ","
Next
End Sub

以上程序已经运行过了。

你的错误只在这一句:
If Val(x(i)) > Val(x(k)) Then
改为:
If Val(y(I)) > Val(y(K)) Then
就可以了。

LS可以说下为什么吗??