
合并有序的数组a,b为数组c,将数组c排序后输出
PrivateSubCommand1_Click()Dimcc=Split(Label1.Caption&","&Label2.Caption&",")Fori=0ToU...
Private Sub Command1_Click()
Dim c
c = Split(Label1.Caption & "," & Label2.Caption & ",")
For i = 0 To UBound(c) - 1
For j = i To UBound(c)
If c(i) > c(j) Then
t = c(i)
c(i) = c(j)
c(j) = t
End If
Next j
Next i
Label3.Caption = Join(c, ",")
End Sub
Private Sub Form_Load()
Dim a, b
a = Array(11, 25, 56, 67, 77, 98)
b = Array(8, 33, 56, 93)
Label1.Caption = Join(a, ",")
Label2.Caption = Join(b, ",")
End Sub
为什么输出的c不是排好顺序的,是11, 25, 56, 67, 77, 98,8, 33, 56, 93 展开
Dim c
c = Split(Label1.Caption & "," & Label2.Caption & ",")
For i = 0 To UBound(c) - 1
For j = i To UBound(c)
If c(i) > c(j) Then
t = c(i)
c(i) = c(j)
c(j) = t
End If
Next j
Next i
Label3.Caption = Join(c, ",")
End Sub
Private Sub Form_Load()
Dim a, b
a = Array(11, 25, 56, 67, 77, 98)
b = Array(8, 33, 56, 93)
Label1.Caption = Join(a, ",")
Label2.Caption = Join(b, ",")
End Sub
为什么输出的c不是排好顺序的,是11, 25, 56, 67, 77, 98,8, 33, 56, 93 展开
展开全部
在这里
If c(i) > c(j) Then
C数组是字符比较。你要转换成数字才行。
将上面一句改成
If val(c(i)) > val(c(j)) Then
就可以了。
If c(i) > c(j) Then
C数组是字符比较。你要转换成数字才行。
将上面一句改成
If val(c(i)) > val(c(j)) Then
就可以了。
更多追问追答
追问
我觉得很有道理,可是为什么还是11, 25, 56, 67, 77, 98,8, 33, 56, 93
追答
你改了吗?
改成
If val(c(i)) > val(c(j)) Then
改了应该就不会这样子了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询