用VB编写程序,题目在说明里。

来源:百度知道 编辑:UC知道 时间:2024/05/22 23:48:45
编程输出1000至9999之间的全部回文数。所谓回文数是这样的数,将一个数从左至右读和从右至左读值相等,如121,111,787是回文数,而123就不是了。

枚举的算法
Function GetReverse(ByVal oStr As String) As String
Dim LoStr As Long, i As Long
LoStr = Len(oStr)
For i = 1 To LoStr
GetReverse = Mid(oStr, i, 1) & GetReverse
Next i
End Function

Private Sub Form_Load()
Dim i As Long
For i = 1000 To 9999
If CStr(i) = GetReverse(i) Then Debug.Print i;
Next i
End Sub

在菜单栏“视图”里把“立即”窗打开看效果

Public Function IsHW(ByVal n) As Boolean
s = CStr(n)
n = Len(s)
For i = 1 To n \ 2
If Mid(s, i, 1) <> Mid(s, n - i + 1, 1) Then Exit Function
Next i
IsHW = i > n \ 2
End Function

Private Sub Command1_Click()
For i = 1000 To 9999
If IsHW(i) Then
Print i;
n = n + 1
If n Mod 10 = 0 Then Print
End If
Next i
End Sub

Private Sub Form_Load()
For i = 1000 To 9999
'判断i值和i值反转后的字符串是否相等
If i = StrReverse(i) Then
List1.AddI