vb 随机产生10个[10,99]的正整数,存放在一个一维数组中,分别采用选择法和冒泡法进行

vb 随机产生10个[10,99]的正整数,存放在一个一维数组中,分别采用选择法和冒泡法进行排序。要求在窗体上显示排序前和排序后的数据。

第1个回答  2014-12-23
Dim arr(0 To 9) As Integer

Private Sub Command1_Click()
Dim i, j, k
Randomize
For i = 0 To 9
arr(i) = Int(Rnd * 100)
Print arr(i);
Next i
Print

For i = 0 To 9
k = i
For j = i + 1 To 9
If arr(k) > arr(j) Then k = j
Next j
If k <> i Then
t = arr(k): arr(k) = arr(i): arr(i) = t
End If
Print arr(i);
Next i
End Sub追问

Fibonacci数列问题。如果一对兔子每月能生一对小兔(一雄一雌),而每对小兔需要一个月长大,便可怀孕,孕期一个月,这样在它出生后的第三个月就能开始生一对小兔,假定在不发生死亡的情况下,由一对出生的小兔开始,20个月后会有多少对兔子? 50个月后呢?

追答

冒泡法 Private Sub Command1_Click()
Dim arr(1 To 10) As Integer
For i = 1 To 10
arr(i) = Int(Rnd * 90) + 10 '10-99随机数
Print arr(i);
Next
Print: Print "排序后"
For i = 1 To 9
For j = i + 1 To 10
If arr(i) > arr(j) Then '相邻数比较,大的冒泡
t = arr(i): arr(i) = arr(j): arr(j) = t '交换
End If
Next: Next
For i = 1 To 10 '输出到窗体
Print arr(i);
Next
End Sub

Private Sub Command1_Click()
Dim a(20)
a(1) = 0: a(2) = 1
For i = 3 To 20
a(i) = a(i - 2) + a(i - 1)
Next i

For i = 1 To 20
Print Right(Space(7) & a(i), 8);
If i Mod 10 = 0 Then Print
Next i
End Sub

这是前20,如果求50的就把20改为50即可

本回答被提问者采纳
相似回答