单选题 如果一个正整数从高位到低位上的数字依次递减,则称其为降序数(如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循环会一直执行到条件不再满足,而不会中途退出循环,这时i的值应该是Len(s)+1,也就是说,如果i的值是Len(s)+1则该数是降序数,flag的值为True,否则为False。本题答案为B。