一、运行效果

VB编程:DO...Loop循环语句比较最大最小值-16

二、编写心得

    程序中,最大值和最小值的比较类似,先用一个布尔型变量“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

分类:

技术点:

相关文章: