vb试题 所谓回文数是从左至右或从右至左读起来都是一样的数字,如:121是一个回文数。编写程序

vb试题 所谓回文数是从左至右或从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,第1张

Private Sub Form_Click()

Dim i As Integer, s As Integer

For i = 1981 To 3000

    If i = StrReverse(i) Then

        Print i

        s = s + 1

    End If

Next

Print "共有"; s; "个回文数年号"

End Sub

首先说明什么是回文数:左右对称的自然数称回文数。如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 x As Long, a As Integer

For a = 1 To 5

x = Val(InputBox("请输入一个整数"))

If fac(x) Then Text1Text = Text1Text & x & " "

Next

End Sub

Function fac(x As Long) As Boolean

fac = (x = Val(StrReverse(x)))

End Function

怎么样,我这函数只用一行语句就解决了!原理就是把一个数左右反转,如果与原来的数相等,那么就是回文数。

2种方法,

1,是使用VB自带的函数StrReverse , 一个数字,被翻过来以后,还和原数字相同,就可以判断是回文数了

2使用循环,每次都2端取数字,都相同,就可以判断为回文数, 当有不同时,跳出循环,不是回文数

在WinForm项目的窗体上添加一个按钮和文本框,然后把下面的代码粘贴上去就可以了。

Public Function lsH(ByVal n As String) As String

Dim s1 As String = ""

Dim s2 As String = ""

Dim i As Integer = 0

Dim j As Integer

If nLength = 1 Then

Return ("是回文数")

Else

If Tell_JiOu(nLength) = 1 Then

j = (nLength + 1) / 2

s1 = Mid(n, 1, j)

Else

j = nLength / 2 + 1

s1 = Mid(n, 1, j - 1)

End If

For i = nLength To j Step -1

s2 = s2 + Mid(n, i, 1)

Next

If s1 = s2 Then

Return "是回文数"

Else

Return "不是回文数"

End If

End If

End Function

'判断一个整数的奇偶

Public Function Tell_JiOu(ByVal k As Integer) As Integer

If k Mod 2 = 0 Then

Return 2

Else

Return 1

End If

End Function

Private Sub Button1_Click(ByVal sender As SystemObject, ByVal e As SystemWindowsRoutedEventArgs) Handles Button1Click

ButtonText = lsH(TextBox1Text)

End Sub

'确实非常简单,窗体最大化后在点按钮

Private Sub Command1_Click()

Dim i As Integer, j As Integer, s As String, n As Long

For i = 10 To 9999

s = CStr(i)

For j = 1 To Len(s)

If Mid(s, j, 1) <> Mid(s, Len(s) - j + 1, 1) Then Exit For

Next

If j = Len(s) + 1 Then

n = n + 1

If n Mod 10 = 0 Then

Print s

Else

Print s,

End If

End If

Next

End Sub

For x = 10 To 1000

    If Left(x, 1) = Right(x, 1) Then

        Print x;

        If CurrentX >= ScaleWidth Then Print

    End If

Next

Private Sub Command1_Click()

Dim j As Long, x As Long

For j = 100 To 200

If j Mod 2 = 0 Then

x = x + 1

If x = 6 Then

Print j

x = 0

Else

Print j;

End If

End If

Next

End Sub

以上就是关于vb试题 所谓回文数是从左至右或从右至左读起来都是一样的数字,如:121是一个回文数。编写程序全部的内容,包括:vb试题 所谓回文数是从左至右或从右至左读起来都是一样的数字,如:121是一个回文数。编写程序、VB编程求出100~999之间的所有回文数,并按行输出、vb编写Function过程,判断数字是否是回文数。程序要求输入一系列数字,找出所有的回文数并显示在文本框中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9426996.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存