| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11072 人关注过本帖, 1 人收藏
标题:用随机函数产生10个10~100的随机整数,并用冒泡排序法(升序)顺序打印出来
只看楼主 加入收藏
于妍
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-4-16
结帖率:100%
收藏(1)
已结贴  问题点数:5 回复次数:14 
用随机函数产生10个10~100的随机整数,并用冒泡排序法(升序)顺序打印出来
新学的 还不算太懂 但急着 要这个程序 希望大家帮写一些下啦
Private Sub Form_Click()
  Const n = 90
  Dim a(n) As Long, t As Long
  For i = 10 To n
    n = Int(Rnd * 90 + 10)
   a(i) = Val(InputBox("输入数据", "排序"))
   Print a(i);
  Next i
  Print
  For i = 10 To n - 1
   For j = i + 1 To n
    If a(i) < a(j) Then
     t = a(i)
     a(i) = a(j)
     a(j) = t
    End If
   nextj
 Next i
 For j = 10 To n
   Print a(j);
   Next j
 End Sub
我写的这个运行不了我也不知道哪错啦
搜索更多相关主题的帖子: 整数 随机函数 顺序 打印 冒泡 
2010-12-05 12:04
于妍
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-4-16
收藏
得分:0 
有没有人给我写一下啊
2010-12-05 12:07
cccool
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:268
专家分:555
注 册:2007-5-1
收藏
得分:5 
回复 2楼 于妍
程序代码:
Dim R(10) As Integer

Private Sub Form_Load()
    Me.AutoRedraw = True
    Dim i As Integer
    For i = 0 To 9
        R(i) = 0
    Next
End Sub

Private Sub Form_Click()
    Me.Cls
    Randomize
    For i = 0 To 9
        R(i) = Int(Rnd * 90 + 10)
    Next
    Me.Print "排序前:"
    Call PrintN(R)
    Me.Print "升序排序:"
    Call Sort(R, "asc")
End Sub

Private Sub Sort(Rc() As Integer, Typec As String)
    Dim m, n, temp As Integer
    If (Typec = "desc") Then
        For m = 0 To UBound(Rc) - 1
            For n = m To UBound(Rc) - 1
                If (Rc(m) < Rc(n)) Then
                    temp = Rc(m)
                    Rc(m) = Rc(n)
                    Rc(n) = temp
                End If
            Next
        Next
    End If
    If (Typec = "asc") Then
        For m = 0 To UBound(Rc) - 1
            For n = m To UBound(Rc) - 1
                If (Rc(m) > Rc(n)) Then
                    temp = Rc(m)
                    Rc(m) = Rc(n)
                    Rc(n) = temp
                End If
            Next
        Next
    End If
    Call PrintN(Rc)
End Sub

Private Sub PrintN(P() As Integer)
    Dim n As Integer
    For n = 0 To UBound(P) - 1
        Me.Print P(n)
    Next
End Sub
应该可以满足你要求!

[fly]让心情飞一会[/fly]
">Email to Me     
2010-12-05 12:36
于妍
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-4-16
收藏
得分:0 
谢谢   这么长啊
2010-12-05 12:38
cccool
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:268
专家分:555
注 册:2007-5-1
收藏
得分:0 
回复 4楼 于妍
不长,我把功能分开写而已,好了就结贴给分

[fly]让心情飞一会[/fly]
">Email to Me     
2010-12-05 12:46
于妍
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-4-16
收藏
得分:0 
回复 5楼 cccool
我都看不懂
2010-12-05 13:10
cccool
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:268
专家分:555
注 册:2007-5-1
收藏
得分:0 
回复 6楼 于妍
不好意思。忘了给你些代码注记了

[fly]让心情飞一会[/fly]
">Email to Me     
2010-12-05 13:49
于妍
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-4-16
收藏
得分:0 
回复 7楼 cccool
里面的 代码我都没看见过 我没法用 我要考试用
2010-12-05 14:11
cccool
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:268
专家分:555
注 册:2007-5-1
收藏
得分:0 
回复 8楼 于妍
第一个Sort函数是对数组里面的元素进行冒泡排序,降序和升序两种
第二个PrintN函数是在窗体上按顺序打印数组里面的元素!
够明白了吧,其实是很简单的代码,又不复杂

[fly]让心情飞一会[/fly]
">Email to Me     
2010-12-05 14:16
于妍
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-4-16
收藏
得分:0 
那就是我笨吧但老师都没讲的我写出来好像不太好
2010-12-05 14:40
快速回复:用随机函数产生10个10~100的随机整数,并用冒泡排序法(升序)顺序打印 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020294 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved