微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB计算一维数组的最值问题

下面代码是本人在网上搜到的,使用时出现数组的第一个值未进行比较,故改之,并做了简单的其他方面使用的提示;方便后者使用,我想这也是第一发帖人的初衷吧。

'下面这段代码有问题,x(0)无法比较
Public Function maxmin(x() As Double)
Dim n1 As Integer,n2 As Integer
Dim i As Integer
n1 = UBound(x)
n2 = LBound(x)
Maxnumber = x(n1)
MinNumber = x(n2)
For i = n2 + 1 To n1
If x(i) > Maxnumber Then
Maxnumber = x(i)
End If
Next i
For i = n2 + 1 To n1
If x(i) < MinNumber Then
MinNumber = x(i)
End If
Next i

Print "最大值为" & Maxnumber
Print "最小值为" & MinNumber
End Function

'上面代码应改为如下即可使用了,如果比较绝对值则使用abs函数'Maxnumber = abs(x(n1))'MinNumber = abs(x(n2))'If abs(x(i)) > Maxnumber ThenPublic Function maxmin(x() As Double) Dim n1 As Integer,n2 As Integer Dim i As Integer n1 = UBound(x) n2 = LBound(x) Maxnumber = x(n1) MinNumber = x(n2) For i = n2 To n1 If x(i) >= Maxnumber Then 'If abs(x(i)) > Maxnumber Then Maxnumber = x(i) End If Next i For i = n2 To n1 If x(i) <= MinNumber Then MinNumber = x(i) End If Next i Print "最大值为" & Maxnumber Print "最小值为" & MinNumberEnd Function

原文地址:https://www.jb51.cc/vb/263269.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐