题库 高中信息

题干

如果一个正整数从左到右读与从右到左读是一样的,就称它为回文式数(简称回数),如图321。“回数猜想”的主要思想是,对任意正整数,若它不是回数,则按下列算法即可获得一个回数:
(1)把该整数的数字顺序颠倒,求得该数的逆序数;
(2)将该整数和其对应的逆序数相加;
(3)若相加结果不是回数,则将结果作为新的整数,返回步骤(1)。
小林按照上述算法,设计了验证回数猜想的VB程序(猜想次数不超过10次),程序功能如下:在文本框Text1中输入一个正整数,单击“验证”按钮(Command1),获取文本框Text1中的数,当该数不是回数时,采用回数猜想的方法进行验证,并在列表框List1中输出每次验证的过程,若验证成功或验证次数超过10次,则停止验证,最后在列表框List1中输出验证结果。程序运行效果如图所示。

实现上述功能的VB程序如下:
Private Sub Command1_Click()
Dim t As String, a As Long, b As Long
Dim count As Integer ' count用于存储回数猜想的验证次数
t = Text1.Text
count = 1
Do While Check(t) = False And count <= 10
a = Val(t)
b=turn(t)
c = a + b
List1.AddItem Str(a) & " +" & Str(b) & " =" & Str(c)
count = count + 1
t = c
Loop
If Check(t) Then
List1.AddItem  "验证成功!"
Else
List1.AddItem  "10次内未验证成功!"
End If
End Sub
' 自定义函数Turn
Function Turn(x As String) As Long
Dim s As String, i As Integer
s = ""
For i = Len(x) To 1 Step -1
s = s & Mid(x, i, 1)
Next i
Turn = Val(s)
End Function
' 自定义函数Check,检查x是否为回文数
Function Check(x As String) As Boolean
Dim i As Integer
Check = True
For i = 1 To Len(x) \ 2 Step 1
If Mid(x, i, 1) <>  Then Check = False mid(x,len(x)+1-i,1)
Next i
End Function
(1)程序代码中,自定义函数Turn(x)的功能是求x的逆序数
(2)请在划线处填入合适代码。
上一题 下一题 0.99难度 填空题 更新时间:2019-05-07 11:22:08

答案(点此获取答案解析)