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
运行结果如下图
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
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运行结果如下图