当前位置:编程学习 > VB >>

求帮助!!!急!!!

要编写一个数字排序的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 ,  网络编程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,