VB随机自然数排序问题

tttkang 2007-05-12 09:38:21
题目:编程实现,随机产生20个200以内的自然数,将它们按照从小到大顺序排列!必须用循环语句实现!

我刚学习VB没多久,希望各位大虾给个建议!这题真的不会做!!55555555555
...全文
321 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
清晨曦月 2007-05-13
  • 打赏
  • 举报
回复
我觉得作业也应该自己完成才好
of123 2007-05-13
  • 打赏
  • 举报
回复
调试过的。排序采用了非传统的方法,老师能否看懂?

Dim i As Integer, j As Integer
Dim tmp As Integer, Numbers(1 To 20) As Integer

Randomize
For i = 1 To 20
tmp = Rnd * 200

If i = 1 Then
Numbers(1) = tmp
Else
For j = i To 1 Step -1
If j = 1 Then
Numbers(j) = tmp
Else
If Numbers(j - 1) >= tmp Then
Numbers(j) = Numbers(j - 1)
If j > 2 Then
Numbers(j - 1) = Numbers(j - 2)
Else
Numbers(j - 1) = 0
End If
Else
Numbers(j) = tmp
Exit For
End If
End If
Next j
End If
Next i
For i = 1 To 20
Debug.Print i, Numbers(i)
Next i
programart_life 2007-05-13
  • 打赏
  • 举报
回复
下面是不需比较的排序方法
dim Num(1,200) as ineteger
dim x as integer

for i=1 to 200
x=rnd*199+1
if num(1,x)>0 then
num(0,x)=num(0,x)+1'//有重复,计算重复的次数
end if
num(1,x)=x
next

测试排序结果
for i=1 to 200
if num(1,i)>0 then
for j=0 to to num(0,i)
debug.print num(1,i)
next
end if
next
WM_JAWIN 2007-05-12
  • 打赏
  • 举报
回复
fix(rnd() *180 +20)即可产生
作业还是自己做啦

7,785

社区成员

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

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