用vb设计产生10个30-80的随机整数,包括最大值和平均值

用vb设计产生10个30-80的随机整数,包括最大值和平均值,第1张

Dim a(10) As Integer, temp As Integer, max As Integer, min As Integer, sum As Integer = 0

        For i = 1 To 10

            a(i) = Int(Rnd() * 50 + 30)

        Next

        For i = 1 To 10

            sum = sum + a(i)

        Next

        For i = 1 To 10

            For j = 1 To 10 - i

                If a(j) > a(j + 1) Then

                    temp = a(j + 1)

                    a(j + 1) = a(j)

                    a(j) = temp

                End If

            Next j

        Next i

        max = a(10)

        avr = sum / 10

        最大值是max,平均值是avr

'二分法只能对有序数列查找,所以要先排序,再查找,

Private Sub Command1_Click()

Dim data(1 To 100) As Integer

Dim i%, num%

Randomize

For i = 1 To 10

data(i) = Int(Rnd * (80 - 30 + 1) + 30)‘30-80随机数

Print data(i)

Next

num = Val(InputBox("请输入一个数"))

Selectionsort data '排序

i = BinSearch(data, num) '二分函数查找

If i <>-1 Then

MsgBox "找到该数" &i

Else

MsgBox "该数不在数组中"

End If

End Sub

'二分函数

Public Function BinSearch(ByRef data() As Integer, ByVal num As Integer) As Long

Dim lngLow As Long

Dim lngHigh As Long

Dim lngMiddle As Long

lngLow = LBound(data)

lngHigh = UBound(data)

While (lngLow <= lngHigh)

lngMiddle = (lngLow + lngHigh) / 2

If data(lngMiddle) = num Then

BinSearch = lngMiddle

Exit Function

Else

If data(lngMiddle) >num Then

lngHigh = lngMiddle - 1

Else

lngLow = lngMiddle + 1

End If

End If

Wend

BinSearch = -1 '查找失败

End Function

'排序

Sub Selectionsort(data() As Integer)

Dim i As Integer

Dim j As Integer

Dim best_value As Integer

Dim best_j As Integer

For i = 1 To UBound(data) - 1

best_value = data(i)

best_j = i

For j = i + 1 To UBound(data)

If data(j) <best_value Then

best_value = data(j)

best_j = j

End If

Next j

data(best_j) = data(i)

data(i) = best_value

Next i

End Sub

①首先a=80,b=30

②执行a=a+b,a变成了80+30=110。此时a=110,b=30

③执行b=a-b,b变成了110-30=80。此时a=110,b=80

④执行a=a*b,a变成了110*80=8800。此时a=8800,b=80

⑤执行Print b,所以输出80

希望对你有帮助:-D


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/11766098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存