zoukankan      html  css  js  c++  java
  • 十个随机数排列(vb代码)

      在VB中,通过编写程序代码,找出最大的数和最小的数很简单,三个数比较大小也很简单,前今天碰到了一个问题,就是,用VB制作一个小程序,实现十个随机数的排列。

      我查了一些资料,在网上找到了有几个很有趣的排列视频。叫做《舞动的排序算法》。看起来很有趣,也很形象,对这个问题很有帮助。地址如下:http://v.youku.com/v_show/id_XMzMyODk4NTQ4.html

    http://v.youku.com/v_show/id_XMzMyODk5Njg4.html 

    http://v.youku.com/v_show/id_XMzMyOTAyMzQ0.html

      具体的方法如下:

           打开VB6.0,在Form1中添加两个按钮Command1和Command2,将其Caption属性分别改为“产生十个随机数”和“排序”,添加一个Label控件在代码窗口中输入如下代码:

      Option Explicit


    Dim c As Integer
    Dim t As Integer
    Dim flag As Integer
    Dim a(9)
    Dim p As String
    Private Sub Command1_Click()
        Dim i As Integer
        p = ""
        Label1.Caption = ""
        a(0) = Int(100 * Rnd + 1)


        For i = 1 To 9
            c = Int(100 * Rnd + 1)
            flag = 1
            
            For t = 0 To i - 1
                If c = a(t) Then
                i = i - 1
                flag = 0
                Exit For
                End If
            Next t
            
            If flag = 1 Then
                a(i) = c
            End If
        Next i
        
        For i = 0 To 9
            p = p & "  " & a(i)
        Next i
        Label1.Caption = p
    End Sub


    Private Sub Command2_Click()
        p = ""


        Dim j As Integer
        Dim i As Integer
        Dim temp As Integer

     For i = 0 To 9
            p = p & "  " & a(i)
        Next i
        
        Label1.Caption = p
    End Sub

    第二种代码:

    Option Explicit


    Dim c As Integer
    Dim t As Integer
    Dim flag As Integer
    Dim a(9)
    Dim p As String
    Private Sub Command1_Click()
        Dim i As Integer
        p = ""
        Label1.Caption = ""
        a(0) = Int(100 * Rnd + 1)


        For i = 1 To 9
            c = Int(100 * Rnd + 1)
            flag = 1
            
            For t = 0 To i - 1
                If c = a(t) Then
                i = i - 1
                flag = 0
                Exit For
                End If
            Next t
            
            If flag = 1 Then
                a(i) = c
            End If
        Next i
        
        For i = 0 To 9
            p = p & "  " & a(i)
        Next i
        Label1.Caption = p
    End Sub


    Private Sub Command2_Click()
        p = ""


        Dim j As Integer
        Dim i As Integer
        Dim temp As Integer
       '----------每次选最大-------
         For j = 0 To 9 - i
               If a(j) > a(j + 1) Then
                temp = a(j)
              a(j) = a(j + 1)
               a(j + 1) = temp
               End If
           Next j
       Next i

        For i = 0 To 9
            p = p & "  " & a(i)
        Next i
        
        Label1.Caption = p
    End Sub

    代码有很多种,这只是其中的一小部分,希望对您有用所帮助。

        

      

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    揭开Socket编程的面纱(留着自己慢慢看)
    XML 新手入门基础知识
    RocketMQ集群平滑下线或重启某个节点
    RocketMQ borker配置文件
    ES:在线迁移集群索引,数据不丢失
    SQL命令汇总
    Redis过期key淘汰策略
    中间件服务器内核参数优化
    在线做RAID命令
    CPU网卡亲和绑定
  • 原文地址:https://www.cnblogs.com/lucari/p/4608609.html
Copyright © 2011-2022 走看看