level 15
你这是完全不会排序啊,先学习一下排序算法应该怎么写吧
2020年05月17日 13点05分
5
level 15
给你写一段完整的代码供参考吧:
Dim a() As Integer '由于需要插入数字,因此数组大小会发生变化,应该用动态数组
Private Sub dy(a() As Integer)
Dim i As Integer, k As Integer
'多定义一个变量,专门用来计数,就可以应付不同的数组下界了
For i = LBound(a) To UBound(a)
Print a(i);
k = k + 1
If k Mod 10 = 0 Then Print
Next i
End Sub
'Command1的代码略,你已经写得很好了;不过由于改用了动态数组,需要加一句:
ReDim a(29) '加在For语句之前即可
Private Sub Command2_Click()
Dim i As Integer, j As Integer, t As Integer
Print "排序后:"
For i = 0 To 28
For j = i + 1 To 29
If a(i) > a(j) Then
t = a(i)
a(i) = a(j)
a(j) = t
End If
Next j
Next i
dy a '前面先排序,不用输出,排序完之后再调用dy进行输出
End Sub
Private Sub Command3_Click()
Dim i As Integer, x As Integer
x = Val(InputBox("请输入要插入的数"))
Print "插入" & x & "后:"
ReDim Preserve a(30)
For i = 30 To 1 Step -1 '从后往前依次查找
If x >= a(i - 1) Then Exit For
'如果输入的数比第i个数之前的数大(或相等),则插入到这个位置
a(i) = a(i - 1) '如果还没有找到插入的位置,则需要将数字向后移动
Next i
a(i) = x '插入到第i个数的位置
dy a '再调用dy输出结果
End Sub
2020年05月17日 14点05分
9
大佬太热心了,vb6吧属你答题解惑最多,给个赞👍
2020年05月17日 14点05分
我看懂了,谢谢你啦
2020年05月17日 14点05分