VB编程,得出一组随机数组后,为什么不能比较得出它们的最大值最小值
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/06/25 10:51:39
VB编程,得出一组随机数组后,为什么不能比较得出它们的最大值最小值
如下图所示,通过数组里每一个元素的比较,用循环结构循环九次后应该能得出最大最小值啊.
![](http://img.wesiedu.com/upload/6/9d/69dc2257685fcc04c534f65a7994f7e1.jpg)
但是,结果是这样的:
![](http://img.wesiedu.com/upload/e/6e/e6ef2d112dd8918a18275813f43cc24d.jpg)
如下图所示,通过数组里每一个元素的比较,用循环结构循环九次后应该能得出最大最小值啊.
![](http://img.wesiedu.com/upload/6/9d/69dc2257685fcc04c534f65a7994f7e1.jpg)
但是,结果是这样的:
![](http://img.wesiedu.com/upload/e/6e/e6ef2d112dd8918a18275813f43cc24d.jpg)
![VB编程,得出一组随机数组后,为什么不能比较得出它们的最大值最小值](/uploads/image/z/15723610-34-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)
你的每次循环里都对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
![](http://img.wesiedu.com/upload/9/85/985d8cf3e2c38f951733020afa5a4aa5.jpg)
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
![](http://img.wesiedu.com/upload/9/85/985d8cf3e2c38f951733020afa5a4aa5.jpg)
急求VB编程“利用随机函数产生10个50-100之间的随机整数,求它们的最大值和平均值,要求用数组做”,
VB用数组保存随机产生的10个介于20到50之间的整数,编程求出最大值,最小值,和平均
C语言编程随机产生10个10到50的正整数存放到数组中,并求数组中的所以元素最大值、最小值、平均值及各元素
如何用excel计算并比较一行或一列中各段空值的个数,得出“最大值,最小值,平均值”?
编一VB程序,随机产生10个30~100(包括30,100)的正整数,求最大值,最小值和平均值,并显示整个数组的值和结果
用vb编程:利用随机函数产生50-100范围内的20个随机数,显示其中的最大值、最小值和平均值.
写VB代码利用随机函数产生20个50~100之间的随机整数,显示它们的最大值、最小值、和平均值
VB编程,“数组问题”窗口利用随机函数随机产生两个两位数的5×5矩阵并作运算...
将随机产生的10个[100,200]范围内的随机整数存入数组,求数组中的最大值和最小值.
VB编写程序,生成一个10个元素的随机整数组,数组元素的范围0-100,要求将这个数组的最大值和最小值的位置对调
编写VB程序,在窗体上输入5个整数存放在数组中,找出这些数中最大值和最小值及它们所在的位置,
VB方面的:利用随机函数产生20个50--100范围内的随机数,显示它们的最大值,最小值,和平均值