vb 哪里错了?

来源:百度知道 编辑:UC知道 时间:2024/06/23 00:37:55
利用rnd函数产生100个0-99之间的整数存放在数组中,输出该数组,最大,最小和平均值。
Private Sub Form_click()
Dim a(100) As Integer
Dim i, sum, max, min
sum = 0: max = 0: min = 0
Randomize
For i = 0 To 99
a(i) = Int(Rnd * 100)
Next i
For i = 0 To 99
sum = sum + a(i)
If max < a(i) Then max = a(i)
If min > a(i) Then min = a(i)
Next i
For i = 0 To 99
Print a(i)
Next i
Print "最大值:" & max & "最小值:" & min&; "平均值:" & sum / 100
End Sub
还有min = 0和If min > a(i) Then min = a(i)这是不是不对?min=0怎么可能大于随机产生的数?随机数最小也是0,不可能0 〉0?

利用rnd函数产生100个0-99之间的整数存放在数组中,输出该数组,最大,最小和平均值。
Private Sub Form_click()
Dim a(100) As Integer
Dim i, sum, max, min
sum = 0: max = 0: min = 0 '把MIN =100 看先面的解释
Randomize
For i = 0 To 99
a(i) = Int(Rnd * 100)
Next i
For i = 0 To 99
sum = sum + a(i)
If max < a(i) Then max = a(i)
If min > a(i) Then min = a(i)
'当你min = 0在你比较下,有谁会小于0的,所以min最后没变
Next i
For i = 0 To 99
Print a(i)
Next i
Print "最大值:" & max & "最小值:" & min&; "平均值:" & sum / 100
'以我之见,PRINT这个方法中只有(,和;)你这个&是用于表达式,所以也错了 应该改为"最大值:" ; max ; "最小值:" ; min&; "平均值:" ; ;sum / 100
End Sub

a(i) = Int(Rnd * 100)应该是a(i) = Int(Rnd * 99)+1
如果min = 0,那么If min > a(i) Then min = a(i) 肯定不对。应该是:min = 100

a(i) = Int(Rnd * 100) '没错
min = 0 '改成 min = 99(或更大)就可以了