如果一个正整数从高位到低位上的数字依次递减,则称其为降序数(如:9632是降 序数,而8516则不是降序数)。现编写如下程序.判断输入的正整数是否为降序数。 Private Sub Commandl一Click() Dim n AS Lon

admin2013-04-11  35

问题 如果一个正整数从高位到低位上的数字依次递减,则称其为降序数(如:9632是降
序数,而8516则不是降序数)。现编写如下程序.判断输入的正整数是否为降序数。
    Private Sub Commandl一Click()
    Dim n AS Long
    Dim flag AS Boolean
    n=InputBox(”输入一个正整数”)
    S=Trim(Str(11))
    For i=2 To Len(s)
    If Mid(S,i一1,1)    Next i
    lf i=Len(s)Then flag=True Else flag=False
    If flag Then
    Print n;"足降序数"
    Else
Print n;"不是降序数"
End If
    End Sub
    运行以上程序,发现有错误,需要对给flag变量赋值的If语句进行修改。以下正确的修改是(    )。

选项 A、If i=Len(s)+l Then flag=False Else flag=True
B、If i=Len(s)+l Then flag=True Else flag=False
C、If i-Len(s)-l Thetl flag=False Else flag=True
D、If i=Len(s)-l Then flag=True Else flag=False

答案B

解析 此题的考查点在for循环,当最后一次执行完Next的时候,i会越界。越界后是len(s)+1,已经比i的长度要长了。因此要对越界进行判断。
转载请注明原文地址:https://kaotiyun.com/show/k2Qp777K
0

最新回复(0)