vb谁能帮我看一下??为什么最小值显示不出来??

来源:百度知道 编辑:UC知道 时间:2024/06/30 00:45:41
Private Sub command1_click()
Dim shu(1 To 10) As Integer
Dim i, ave, min, max

ave = 0
max = shu(1)
min = shu(1)
For i = 1 To 10
shu(i) = Int(Rnd * 71 + 30)
ave = ave + shu(i)
ave1 = ave / 10
Next i
For i = 1 To 10
If max < shu(i) Then max = shu(i)
Next i
For i = 1 To 10
If min > shu(i) Then min = shu(i)
Next i
Print "最大值"; max
Print "最小值"; min
Print "平均值"; ave1

声明 min 后,它的初始值是 0 ,这样,你将它与数组中的任何数值相比,总更小,始终为 0
改进:在循环查找最小值之前,要为 min 设置一个初始比较值。其实,查找最大值也应这样处理。

Private Sub command1_click()
Dim shu(1 To 10) As Integer
Dim i, ave, min, max

ave = 0
max = shu(1)
min = shu(1)
For i = 1 To 10
shu(i) = Int(Rnd * 71 + 30)
ave = ave + shu(i)
ave1 = ave / 10
Next i
For i = 1 To 10
If max < shu(i) Then max = shu(i)
Next i

min = max '这是添加的语句
For i = 1 To 10
If min > shu(i) Then min = shu(i)
Next i
''或者,用下面4条语句替换上面4条语句
'min = shu(1)
'For i = 2 To 10
'If min > shu(i) Then min = shu(i)
'Next i

Print "最大值"; max
Print "最小值"; min
Print "平均值"; ave1
End Sub

Private Sub command1_click()
Dim shu(1 To 10) As Integer
Dim i, ave, min, max

ave = 0
For i = 1 To 10
shu(i) = Int(Rnd * 71