用VB编写个程序判断100000以内的数是不是回文数

如题所述

Private Sub Command1_Click()
Dim i As Long, J As Long
Dim str As String
Dim Flag As Boolean

str = "从 " & 0 & " 到 " & 100000 & "之间的回文数有:" & vbCrLf

For i = 0 To 100000
Flag = False
For J = 1 To Len(CStr(i))
If Mid(CStr(i), J, 1) <> Mid(CStr(i), Len(CStr(i)) - J + 1, 1) Then
Flag = True
Exit For
End If
Next J
If Flag = False Then str = str & i & " "
Next i
'Print str
'MsgBox str

Open "d:\回文数.txt" For Output As #1
For i = 0 To 4
Print #1, str
Next
Close #1

End Sub

调试过的,没问题!
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-01
首先判断用户输入的数字长度,然后用redim重新定义字符串数组,把每位数字依次存入数组,假设数字长度为n,然后用do循环判断第m位与第n+1-m位是否一样,m从1开始循环,直到m>n/2,如果都相同则是会数

参考资料:如果您的回答是从其他地方引用,请表明出处

第2个回答  2010-04-01
用StrReverse函数更简单...
功能的强化,LZ你搞定了...

Private Sub Command1_Click()
Dim i As Long, s As String
List1.Clear
For i = 1 To 100000
s = CStr(i)
If s = StrReverse(s) Then List1.AddItem s
Next i
End Sub

用VB编一个程序,判断10万以内的正整数是否是回文数
以上关键部分就是StrReverse(CStr(a)) = CStr(a)一句了,StrReverse()函数表示把一个字符串颠倒过来 如abc 转成 cba ,Cstr()函数是转义函数,把变量a从Long转化成String变量 ,程序运行后,可以在C盘下面的1.txt文档中看到 以下部分是输出的一部分结果 ……70707 70807 70907 71017 71117 71217 7...

vb 小于100000的回文数怎么写?
'用StrReverse函数 判断倒序后的数和原来数是否相同,如果相同者表示此数为回文数

VB中设计算法,判断某一个数是不是回文数(用文字叙述就可以了)_百度知 ...
1,是使用VB自带的函数StrReverse , 一个数字,被翻过来以后,还和原数字相同,就可以判断是回文数了 2.使用循环,每次都2端取数字,都相同,就可以判断为回文数, 当有不同时,跳出循环,不是回文数

vb 判断一个数是回文数
'如果是,则是回文数,否则不是。'算法如下:N=12345 R=trim(str(N))if R=StrReverse(R) then print "是回文数"else print "不是回文数"end if

vb 判断一个数是回文数
'最简单的方法是把数字转化为字符串R,'在去掉前导R的空格后,'检查R是否和StrReverse(R),相等,'如果是,则是回文数,否则不是。'算法如下:N=12345R=trim(str(N))if R=StrReverse(R) then print "是回文数"else print "不是回文数"end if ...

vb中判断是否为回文数
否则不是。算法:N=12345 R=trim(str(N))if R=StrReverse(R) then print "是回文数"else print "不是回文数"end if 参考资料:http:\/\/zhidao.baidu.com\/question\/91140131

回文数用visual basic6.0 计算回文数
vbIf StrReverse(i) = i Then如果反转后的字符串与原数相等,那么这个数就是一个回文数。在这种情况下,我们通过`Print`语句输出这个回文数:vb Print iNext这段代码会遍历指定范围内的所有整数,检查它们是否为回文,并将找到的回文数显示出来。通过这种方式,你可以轻松地在Visual Basic 6.0中找...

VB用do while循环判断是否为回文数
n = InputBox("输入一个正整数:")L = Len(n)m = L \\ 2 i = 1 Do While i <= m If Mid(n, i, 1) <> Mid(n, (L + 1) - i, 1) Then Exit Do End If i = i + 1 Loop If i > m Then Debug.Print "是回文数!"Else Debug.Print "不是回文数!"End If ...

vb:在立即窗口中显示10000以内所有回文数,并统计其个数及平均值.
"平均值:" & sm \/ ctEnd SubFunction f(ByVal x%) As Boolean Dim i%, n%, c$ c = CStr(x) n = Len(c) For i = 1 To n \/ 2 If Mid(c, i, 1) <> Mid(c, n - i + 1, 1) Then f = False Exit Function End If Next f = True...

VB编程:编程输出1000~9999之间的全部回文数。
dim x as string dim y as string for i=1000 to 9999 x=mid(i,1,2)y=mid(i,4,1) & mid(i,3,1)if x=y then form1.print i end if next end sub 输出也可以更改为text控件,多行文本就没有窗体输出的问题了。form1.print i 更改为,text1.text=text1.text & i & " "

相似回答