VB编程求代码(数组) 一个有十个元素的数组,产生十个随机数放入数组中,要求统计数组的平均值,最大

2025-05-09 14:14:06
推荐回答(3个)
回答1:

Sub arr()
    Dim arr(1 To 10) As Single
    Dim maxNum, smallNum, averageNum
    Dim maxIndex, smallIndex
    For i = 1 To 10
      arr(i) = Format(Rnd(), "0.00") '产生0-1之间,保留两位小数的随机数
    Next
    averageNum = Format(Application.Sum(arr()) / 10, "0.00")
    For i = 1 To 10
      If arr(i) = Application.Large(arr(), 1) Then
         maxNum = Format(arr(i), "0.00")  '取得最大值
         maxIndex = i      '取得最大值下标
      End If
      If arr(i) = Application.Small(arr(), 1) Then
         smallNum = Format(arr(i), "0.00") '取得最小值
         smallIndex = i     '取得最小值下标
      End If
     Next
     MsgBox "数组中最大值是:" & maxNum & Chr(10) & "最小值是:" & smallNum & Chr(10) & "最大值下标:" & _
         maxIndex & Chr(10) & "最小值下标是:" & smallIndex & Chr(10) & "平均值是:" & averageNum
End Sub

运行结果如下图

回答2:

Private Sub Command1_Click()
    Dim a(1 To 10)
    Randomize
    Sum = 0
    maxid = 1: minid = 1
    For i = 1 To 10
        a(i) = Int(Rnd * 100)
        If a(maxid) < a(i) Then maxid = i
        If a(minid) > a(i) Then minid = i
        Sum = Sum + a(i)
    Next i
    Print "平均值是:" & Sum / 10
    Print "最大值是:" & a(maxid) & "   下标是:" & maxid
    Print "最小值是:" & a(minid) & "   下标是:" & minid
End Sub

回答3:

Sub arr()
Dim arr(1 To 10) As Single
Dim maxNum, smallNum, averageNum
Dim maxIndex, smallIndex
For i = 1 To 10
arr(i) = Format(Rnd(), "0.00") '产生0-1之间,保留两位小数的随机数
Next
averageNum = Format(Application.Sum(arr()) / 10, "0.00")
For i = 1 To 10
If arr(i) = Application.Large(arr(), 1) Then
maxNum = Format(arr(i), "0.00") '取得最大值
maxIndex = i '取得最大值下标
End If
If arr(i) = Application.Small(arr(), 1) Then
smallNum = Format(arr(i), "0.00") '取得最小值
smallIndex = i '取得最小值下标
End If
Next
MsgBox "数组中最大值是:" & maxNum & Chr(10) & "最小值是:" & smallNum & Chr(10) & "最大值下标:" & _
maxIndex & Chr(10) & "最小值下标是:" & smallIndex & Chr(10) & "平均值是:" & averageNum
End Sub运行结果如下图