VB问题:单击窗体,利用随机函数产生20个2位整数,在窗体输出,并判断其奇偶性,

VB问题:单击窗体,利用随机函数产生20个2位整数,在窗体输出,并判断其奇偶性,分别按奇数和偶数使用冒泡法从小到大排序输出。如图所示。求VB代码。... VB问题:单击窗体,利用随机函数产生20个2位整数,在窗体输出,并判断其奇偶性,分别按奇数和偶数使用冒泡法从小到大排序输出。如图所示。
求VB代码。
展开
 我来答
windblast
2018-05-08 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13620
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

试编写代码如下:

Dim aOdd() As Integer, aEven() As Integer, aAll(1 To 20) As Integer

Sub GenArray()
    Randomize
    For i = 1 To 20
        aAll(i) = Int((90 * Rnd) + 10)
    Next
End Sub

Function DoSort(arr)
        
    For i = LBound(arr) To UBound(arr) - 1
       For j = LBound(arr) To UBound(arr) - 1
            If arr(j) > arr(j + 1) Then
               temp = arr(j)
               arr(j) = arr(j + 1)
               arr(j + 1) = temp
            End If
       Next j
    Next i
    
    DoSort = arr

End Function

Sub SplitArr()
    ReDim aOdd(0)
    ReDim aEven(0)
    
    For i = 1 To 20
        n = aAll(i) Mod 2
        If n = 0 Then
            iMax = UBound(aEven)
            ReDim Preserve aEven(iMax + 1)
            aEven(iMax) = aAll(i)
        Else
            iMax = UBound(aOdd)
            ReDim Preserve aOdd(iMax + 1)
            aOdd(iMax) = aAll(i)
        End If
    Next
    
    ReDim Preserve aEven(UBound(aEven) - 1)
    ReDim Preserve aOdd(UBound(aOdd) - 1)
    
End Sub

Sub ShowArray(sTitle, arr)
    s = ""
    For i = LBound(arr) To UBound(arr)
        s = s & " " & arr(i)
    Next
    Print " "
    Print sTitle & s
End Sub

Private Sub Form_Click()
    GenArray
    SplitArr
    
    aOdd = DoSort(aOdd)
    aEven = DoSort(aEven)
    
    Call ShowArray("排序前:", aAll)
    Call ShowArray("排序后:奇数:", aOdd)
    Call ShowArray("排序前:偶数:", aEven)
End Sub

运行截图如下:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式