VB编程求出100~999之间的所有回文数,并按行输出

VB编程求出100~999之间的所有回文数,并按行输出,第1张

首先说明什么是回文数:左右对称的自然数称回文数。如121,4224,13731等

你所出的题目是求三位数以内的所有回文数,所以只要判断第一位和第三位的数字是否一样,一样则为回文数。

代码如下:

Private

Sub

Command1_Click()

For

i

=

100

To

999

'100到999循环

a$

=

Trim$(Str(i))

'转换成字符串

b

=

Left$(a$,

1)

'截取左边第一位

d

=

Right$(a$,

1)

'截取右边第一位

If

b

=

d

Then

'判断左右是否相等,相等既是回文数

T1Text

=

T1

+

Str(i)

End

If

Next

End

Sub

Private Sub Command1_Click()

Dim I As Long, J As Long

Dim X1 As Long, X2 As Long

Dim str As String

Dim Flag As Boolean

str = "从 10000 到 99999 之间的回文数有:" & vbCrLf

For I = 10000 To 99999

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

MsgBox str

End Sub

Public Function ish(dblInput As Double) As Boolean '输入参数为Double类型,返回Boolean

Dim strTemp As String

Dim i As Integer

Dim n As Integer

strTemp = CStr(dblInput) '转换输入为字符串类型

n = CInt(Len(strTemp) / 2) '取字符串长度的一半,如果长度为偶数,则两侧全部参加比较,

'如果为奇数,则中间位不必比较。

For i = 1 To n

If Mid(strTemp, i, 1) <> Mid(strTemp, Len(strTemp) - i + 1, 1) Then '比较左右两端。

ish = False

Exit Function ‘发现有一次比较不相等,可以确定不是回数,退出函数,返回False。

End If

Next

ish = True

End Function

问题出在循环数i,经过循环后,如果是回文数,i=n+1,因此打印的是“不是回文数”。

应修改If

i

=

n

Then为If

i

=

n+1

Then

Private Sub Command1_Click()

For i = 498 To 100 Step -3

a = i \ 100

b = i Mod 10

If a = b Then Exit For

Next i

Print "100~500之间能被3整除的最大回文数="; i

End Sub

以上就是关于VB编程求出100~999之间的所有回文数,并按行输出全部的内容,包括:VB编程求出100~999之间的所有回文数,并按行输出、求VB高手:编写程序,找出10000~99999的所有回文数!、编写vb程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9341603.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存