vb取最大值最小值

vb取最大值最小值,第1张

你的错误在于每次循环都先修改了max、min的值,他们并没有记载当前的最大值和最小值。
正确的方法应该是:
Private Sub Command1_Click()
Dim num%, i%, m%, n%
Cls
n = Val(Text1)
num = Int(Rnd 99 + 1)'先随即一个数
Print num;
Max = num'当前他最大
Min = num'同时也最小
For i = 2 To n
num = Int(Rnd 99 + 1)'生成其余的随机数
Print num;
If num > Max Then'大于最大
Max = num
ElseIf Min > num Then'小于最小!这里还要判断,而不是直接else
Min = num
End If
Next
Label5 = "最大值为:" & Max'不要每次都改变,在循环完成后再显示。
Label6 = "最小值为:" & Min
End Sub

For i = 1 To 7 If Max < P(i) Then Max = P(i) If Min > P(i) Then Min = P(i) Next i 咳,问问团队编程之道 答案的循环错了。 是for i =0 to 7
求采纳

你应该是要在一串数中找出最大和最小的
你如果知道这串数字
DIM
a()
as
long
dim
i
as
integer
dim
max
dim
min
private
SUB
form_load()
a(0)=(你知道的数字)
a(1)=(你知道的数字)

for
i=
0
to
100
if
a(i)>a(i+1)
then
max
=
a(i)
else
max=a(i+1)
end
if
next
i
循环完毕
最大值就找到
赋值在MAX里面
min同理
end
sub

Dim a!()
Private Sub Command1_Click()
Dim n$, p, sum!, max!, min!
n = Val(InputBox("请输入需要统计的数据个数"))
ReDim a(1 To n)
Do
p = InputBox("请输入第" & 1 & "个数:", "提示")
Loop While (IsNumeric(p) = False)
a(1) = p
sum = a(1)
max = a(1)
min = a(1)
For i = 2 To n
Do
p = InputBox("请输入第" & i & "个数:", "提示")
Loop While (IsNumeric(p) = False)
a(i) = p
sum = sum + a(i)
If a(i) > max Then
max = a(i)
ElseIf a(i) < min Then
min = a(i)
End If
Next i
MsgBox "平均数:" & sum / n & ",最大值:" & max & ",最小值:" & min, , "结果"
End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10428531.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-08
下一篇2023-05-08

发表评论

登录后才能评论

评论列表(0条)

    保存