VB问题:单击窗体,利用随机函数产生20个2位整数,在窗体输出,并判断其奇偶性,
VB问题:单击窗体,利用随机函数产生20个2位整数,在窗体输出,并判断其奇偶性,分别按奇数和偶数使用冒泡法从小到大排序输出。如图所示。求VB代码。...
VB问题:单击窗体,利用随机函数产生20个2位整数,在窗体输出,并判断其奇偶性,分别按奇数和偶数使用冒泡法从小到大排序输出。如图所示。
求VB代码。 展开
求VB代码。 展开
1个回答
2018-05-08 · 知道合伙人软件行家
关注
展开全部
试编写代码如下:
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
运行截图如下:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询