
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过程,判断数字是否是回文数。程序要求输入一系列数字,找出所有的回文数并显示在文本框中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)