VB问题 下面这个程序就是调试不出来 请大家指教

来源:百度知道 编辑:UC知道 时间:2024/04/27 16:00:43
Option Explicit
Private Sub form_click()
' 该过程是产生30个1--100之间的随机整数
' 计算这30个数的平均值
' 找出30个数中数值大于平均值的数据,并统计出这些数据的个数
Dim x(30) As Integer
Dim sum As Integer, ave As Integer '平均值取整数
Dim i As Integer
Dim count As Integer '在平均值之上的数据个数
Randomize
For i = 1 To 30
x(i) = Int(Rnd * 100) + 1
Next i
sum = 0
For i = 1 To 30
sum = sum + a(i)
Next i
ave = sum / 30
'5个一行打印出原始数据,打印平均值
For i = 1 To 30
Form1.Print x(i); Space(2);
If i Mod 5 = 0 Then Form1.Print
Next i
Form1.Print "平均值:"; ave
'找出并5个一行打印在平均值之上的数据,打印统计的个数

Form1.Print "在平均值之上的数据是:"
For i = 1 To 30
If x(i) > ave Then
count = count + 1
Form1.Print x(i); Space(2);
If count Mod 5 = 0 Then Fo

晕~~你数组名字是x(30) 到sum = sum + a(i),怎么变成a(i)了!!!把a(i)改成x(i)就OK了

'复制下面的
Option Explicit
Private Sub Form_click()
' 该过程是产生30个1--100之间的随机整数
' 计算这30个数的平均值
' 找出30个数中数值大于平均值的数据,并统计出这些数据的个数
Dim x(1 To 30) As Integer
Dim sum As Integer, ave As Integer '平均值取整数
Dim i As Integer
Dim count As Integer '在平均值之上的数据个数
sum = 0
For i = 1 To 30
Randomize
x(i) = Int(Rnd * 100) + 1
sum = sum + x(i)
Form1.Print x(i); Space(2);
If i Mod 5 = 0 Then Form1.Print
Next i
ave = sum / 30
'5个一行打印出原始数据,打印平均值
Form1.Print "平均值:"; ave
'找出并5个一行打印在平均值之上的数据,打印统计的个数
Form1.Print "在平均值之上的数据是:"
For i = 1 To 30
If x(i) > ave Then
count = count + 1
Form1.Print x(i); Space(2);
If count Mod 5 = 0 Then Form1.Print
End If
Next i
Form1.Print
Form1.Print "共有"; count; "个在平均值之上."
End Sub

能出来才怪,