VB编程:DO...Loop循环语句比较最大最小值
一、运行效果
二、编写心得
程序中,最大值和最小值的比较类似,先用一个布尔型变量“c”和“if”条件语句来区分第一次提示还是后续提示,输出相应的“输入提示框”;再用“if”条件语句和“isnumeric()”函数判断输入是否为数值,不是则用“exit for”跳出“do”循环;如果是数值则接着执行下一个“if”语句,控制第一次输入之后就改变“inputbox”的输入提示内容,每次输入之后都会提示一个最大或者最小值。之后就用“iif”语句来比较大小,大的赋值给b,或者小的赋值给b;最后在label中输出最后的比较结果。
这个程序主要是通过“do...loop”和“if”语句来实现循环和判断的。应该在窗体上添加一个label控件,记录显示已经输入过的数值,这样会比较好一些。
三、程序代码
Private Sub Command1_Click()
Dim a, b As Double, c As Boolean
c = False
Do
If c = True Then
a = InputBox("请输入数值,输入非数字结束。目前最大数为" & b, "输入")
Else
a = InputBox("请输入数值,输入非数字结束", , "输入")
End If
If IsNumeric(a) Then
If c = False Then
b = a
c = True
Else
b = CDbl(IIf(CDbl(a) > b, a, b))
End If
Else
Exit Do
End If
Loop
Label1.Caption = "输入的数中最大的是:" & b
End Sub
Private Sub Command2_Click()
Dim a, b As Integer, c As Boolean
c = False
Do
If c = True Then
a = InputBox("请输入数值,输入非数字结束。目前最小数为:" & b, "输入数值")
Else
a = InputBox("请输入数值,输入非数字结束", "输入数值")
End If
If IsNumeric(a) Then
If c = False Then
b = a
c = True
Else
b = CDbl(IIf(CDbl(a) < b, a, b))
End If
Else
Exit Do
End If
Loop
Label1.Caption = "输入的数中最小的是:" & b
End Sub