VB编程,得出一组随机数组后,为什么不能比较得出它们的最大值最小值如下图所示,通过数组里每一个元素的比较,用循环结构循环九次后应该能得出最大最小值啊.但是,结果是这样的:
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/29 02:10:08
![VB编程,得出一组随机数组后,为什么不能比较得出它们的最大值最小值如下图所示,通过数组里每一个元素的比较,用循环结构循环九次后应该能得出最大最小值啊.但是,结果是这样的:](/uploads/image/z/1608310-46-0.jpg?t=VB%E7%BC%96%E7%A8%8B%2C%E5%BE%97%E5%87%BA%E4%B8%80%E7%BB%84%E9%9A%8F%E6%9C%BA%E6%95%B0%E7%BB%84%E5%90%8E%2C%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E8%83%BD%E6%AF%94%E8%BE%83%E5%BE%97%E5%87%BA%E5%AE%83%E4%BB%AC%E7%9A%84%E6%9C%80%E5%A4%A7%E5%80%BC%E6%9C%80%E5%B0%8F%E5%80%BC%E5%A6%82%E4%B8%8B%E5%9B%BE%E6%89%80%E7%A4%BA%2C%E9%80%9A%E8%BF%87%E6%95%B0%E7%BB%84%E9%87%8C%E6%AF%8F%E4%B8%80%E4%B8%AA%E5%85%83%E7%B4%A0%E7%9A%84%E6%AF%94%E8%BE%83%2C%E7%94%A8%E5%BE%AA%E7%8E%AF%E7%BB%93%E6%9E%84%E5%BE%AA%E7%8E%AF%E4%B9%9D%E6%AC%A1%E5%90%8E%E5%BA%94%E8%AF%A5%E8%83%BD%E5%BE%97%E5%87%BA%E6%9C%80%E5%A4%A7%E6%9C%80%E5%B0%8F%E5%80%BC%E5%95%8A.%E4%BD%86%E6%98%AF%2C%E7%BB%93%E6%9E%9C%E6%98%AF%E8%BF%99%E6%A0%B7%E7%9A%84%EF%BC%9A)
VB编程,得出一组随机数组后,为什么不能比较得出它们的最大值最小值如下图所示,通过数组里每一个元素的比较,用循环结构循环九次后应该能得出最大最小值啊.但是,结果是这样的:
VB编程,得出一组随机数组后,为什么不能比较得出它们的最大值最小值
如下图所示,通过数组里每一个元素的比较,用循环结构循环九次后应该能得出最大最小值啊.
但是,结果是这样的:
VB编程,得出一组随机数组后,为什么不能比较得出它们的最大值最小值如下图所示,通过数组里每一个元素的比较,用循环结构循环九次后应该能得出最大最小值啊.但是,结果是这样的:
你的每次循环里都对Ma和Mi重新赋值了,所以,里面保存的都不是当前的最大值或者取小值,而且下面的比较算出来的Ma,Mi是相邻的两个数中较大或者较小的数,修改一下:
Private Sub Form_Click()
Dim X(9) As Integer, Ma!, Mi, Av!
Randomize '初始化随机种子只需一次
'在VB里,如果没有使用Option Base指定数组下标开始序号,默认是从1开始的,而不是0
For i = 1 To 9
X(i) = Int(Rnd * 71 + 30)
Next i
For i = 1 To 9
Print X(i);
Next i
'求取大值,最小值时,先假设最大值,最小值是第一个元素,然后往后循环比较
'在循环外面赋值
Ma = X(1)
For i = 2 To 9
If Ma < X(i) Then
Ma = X(i)
End If
Next i
Mi = X(1)
For i = 2 To 9
If Mi > X(i) Then
Mi = X(i)
End If
Next i
For i = 1 To 9
Av = Av + X(i)
Next i
Av = Av / 9
Print Tab(0); "Ma="; Ma; "Mi="; Mi; "Avg="; Av
End Sub