求帮助!!!急!!!

简单sj 2013-04-01 08:26:27
要编写一个数字排序的VB程序,先输入十个数字,然后进行顺序排序,最后在这个基础上排成两边小中间大的M型。
就是 1234567最后排成1357642
...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
贝隆 2013-04-01
  • 打赏
  • 举报
回复
只有思路,没有代码: 1、先排序,有小到大 2、在第一次排序的基础上,将排序结果从中间一分为二,第一部分不用重新排序,第二部分,首尾部交换即可。
of123 2013-04-01
  • 打赏
  • 举报
回复
给你一个 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 仅用于显示输入和输出。

7,764

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧