题目来源:大工慕课 链接 原题:Visual Basic程序设计教程(第二版)龚沛曾主编,高等教育出版社 实验6-5 作者:Caleb Sung
题目要求
编一函数过程IsH(n),对于已知正整数n,判断该数是否是回文数,函数的返回值类型为布尔型。主调程序每输入一个数,调用IsH函数过程,然后在图形框显示输入的数,对于是回文数显示一个”★”,如下图:
提示
所谓回文数是指顺读与倒读数字相同,即指最高位与最低位相同,次高位与次低位相同,依次类推。当只有一位数时,也认为是回文数。回文数的求法,只要对输入的数(按字符串类型处理),利用MID函数从两边往中间逐位比较,若不相同,就不是回文数。
参考代码
Private Sub Text1_KeyPress(KeyAscii
As Integer)
If KeyAscii =
13 Then
If Not IsNumeric(Text1)
Then
MsgBox
"输入非数字串,重新输入"
Text1.
Text =
""
Text1.SetFocus
Else
If IsH(Text1)
Then
Picture1.Print Text1;
" ★ "
Else
Picture1.Print Text1
End If
Text1 =
""
End If
End If
End Sub
Function IsH(ss
As String)
As Boolean
Dim i%, Ls%
IsH =
True
ss = Trim(ss)
Ls = Len(ss)
For i =
1 To Ls \
2
If Mid(ss, i,
1) <>
Mid(ss, Ls +
1 - i,
1)
Then
IsH =
False
Exit Function
End If
Next i
End Function