单选题 如果一个正整数从高位到低位上的数字依次递减,则称其为降序数(如:9632是降序数,而8516则不是降序数)。现编写如下程序,判断输入的正整数是否为降序数。
Private Sub Command1_Click()
Dim n As Long
Dim flag As Boolean
n=InputBox("输入一个正整数")
s=Trim(Str(n))
For i=2 To Len(s)
If Mid(s,i-1,1)<Mid(s,i,1)Then Exit For
Next i
If i=Len(s)Then flag=True Else flag=False
If flag Then
Print n;"是降序数"
Else
Print n;"不是降序数"
End If
End Sub
运行以上程序,发现有错误,需要对给flag变量赋值的If语句进行修改。以下正确的修改是______。
【正确答案】 B
【答案解析】[解析] 此题的考查点在for循环,当最后一次执行完Next的时候,i会越界。越界后是len(s)+1,已经比i的长度要长了。因此要对越界进行判断。