早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求a与b间的升序数,即134,4567这样的数下面算法为什么不对.OptionExplicitOptionBase1PrivateFunctionsx(ByValnAsInteger)AsBooleanDima()AsInteger,kAsInteger,iAsIntegerDok=k+1ReDimPreservea

题目详情
求a与b间的升序数,即134, 4567这样的数 下面算法为什么不对.
Option Explicit
Option Base 1
Private Function sx(ByVal n As Integer) As Boolean
Dim a() As Integer, k As Integer, i As Integer

Do
k = k + 1
ReDim Preserve a(k)
a(k) = n Mod 10
n = n \ 10
Loop Until n = a(i) Then Exit For

Next i
sx= ture
End Function
Private Sub Command1_Click()
Dim a As Integer, b As Integer, i As Integer
a = Val(Text1): b = Val(Text2)
For i = a To b
If sx(i) Then
List1.AddItem i
End If
Next i
If List1.ListCount = 0 Then List1.AddItem "无升序数"
End Sub
▼优质解答
答案和解析
这题如确定都是整数,可使用字符串法PUBLIC FUNCTION ISSXS( M AS LONG ) AS BooleanDIM S AS STRINGS=TRIM(STR(M))DIM I AS LONGDIM J AS LONGDIM Y AS BooleanY=TRUEJ=LEN(S)FOR I=1 TO J-1IF NOT (ASC( MID(S,I,1...