VB取最大值和最小值

通过测量得到的N个0到100的数 怎么从中得到最值 最好有程序

dim V(N),max_temp,max
private sub a()
for i=0 to N
if V(i)>max_temp then max_temp=V(i)
next
max=max_temp
end sub
具体程序要小改下,V(N)要定义下,就是N个数,循环比较,发现比临时变量大的,就把变量给临时变量,最后得到的就是最大值追问

max_temp是什么?还有V(N)要怎么定义啊 我没学过 你就直接告诉我吧

追答

V(N)就是你要比较的数组啊,应该有值的啊,比如说V(10),V(0)=89,V(1)=98,max_temp就是用来放最大值的啊,循环过去,只要比现有值大的,就放到max_temp存起来

追问

没有具体的值 都是随机出现的

追答

是的啊,把随机出现的放到一个数组不就好了吗,你把程序拿出来看下

追问

怎么放啊 我没学过VB的 怎么把另一个TABLE中得到的那组值放到这个里?

追答

table是什么呢

追问

就是一方块 界面上的 显示测量数据的

追答

把它的值找出来就可以了啊。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-04
Sub 最值()
Dim arrobj As Variant
arrobj = Array(1, 2, 3, 4, 5, 6, 7, 1, 3, 2, 1, 56, 5, 4) '括号内填上你测得的一系列数
Dim tempmax As Double
Dim tempmin As Double
tempmax = arrobj(0)
tempmin = arrobj(0)
For i = 0 To UBound(arrobj)
If arrobj(i) > tempmax Then
tempmax = arrobj(i)
End If
If arrobj(i) < tempmin Then
tempmin = arrobj(i)
End If
Next
MsgBox "最大值为:" & tempmax & vbLf & "最小值为:" & tempmin
End Sub
'说明:先假设一个数,这里比如是数组中的第一项为最大值,则逐个与其比较,如果大于它,则将它替代悼。最终得到最大值。追问

那些数不是我填的 是计算机自己填的 就是怎么能让计算机自己填 因为这一块是程序的一部分 我提前不知道数是多少

追答

这些数是怎样得到的有关程序的结构问题,如果是得到的一个数组,则可利用以上代码。如果得到的数不是数组,则每得到一个数后立即进行对比也是一样的。
如果你能确定知道数据的取得方法和形式,我可以适当地对代码进行修改。

本回答被提问者采纳
第2个回答  2015-12-27
Private Sub Command1_Click()
Dim min%, max%, i%, a(1 To 10) As Integer
Randomize

For i = 1 To 10
a(i) = Int(Rnd() * 89) + 10
Next i

min = a(1): max = a(1)

For i = 2 To 10
If a(i) > max Then max = a(i)
If a(i) < min Then min = a(i)
Next i

Text1.Text = max
Text2.Text = min
End Sub

相似回答