求帮助!!!急!!!
要编写一个数字排序的VB程序,先输入十个数字,然后进行顺序排序,最后在这个基础上排成两边小中间大的M型。就是 1234567最后排成1357642 --------------------编程问答-------------------- 给你一个 ListBox 版本的方法:
Dim Data() As String, Result() As String
Private Sub Command1_Click()
Dim i As Integer
Randomize
List1.Clear
ReDim Data(10)
For i = 0 To 9
Data(i) = CStr(Int(Rnd * 100000000))
List1.AddItem Data(i)
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, tmp() As String, m As Integer, n As Integer
List2.Clear
For i = 0 To UBound(Data) - 1
List2.AddItem Right("00000000" & Trim(Data(i)), 9)
Next i
n = List2.ListCount - 1
ReDim Result(n)
For i = 0 To n Step 2
m = i \ 2
Result(m) = Val(List2.List(i))
If List2.ListCount >= i Then Result(n - m) = Val(List2.List(i + 1))
Next i
List3.Clear
For i = 0 To n
List3.AddItem Result(i)
Next i
End Sub
List2 的Sorted 属性设置为 True,用于实现排序。
假定输入的数字在数组 data() 中,字符型,且长度不超过 9 位。
结果放在 Resut() 中。
List1 和 List3 仅用于显示输入和输出。 --------------------编程问答-------------------- 只有思路,没有代码:
1、先排序,有小到大
2、在第一次排序的基础上,将排序结果从中间一分为二,第一部分不用重新排序,第二部分,首尾部交换即可。
补充:VB , 网络编程