永发信息网

找出所有4位数的升序数和回文数,使用函数实现回文数和升序数的判断.用VB编程,马上啊.

答案:1  悬赏:40  手机版
解决时间 2021-08-17 16:09
  • 提问者网友:沦陷
  • 2021-08-16 16:39
找出所有4位数的升序数和回文数,使用函数实现回文数和升序数的判断.用VB编程,马上啊.
1、单击“回文数”按钮,找出所有4位数中的回文数.
2、单击“升序数”按钮,找出所有4位数中的升序数.
3、使用函数实现回文数和升序数的判断.
最佳答案
  • 五星知识达人网友:独行浪子会拥风
  • 2021-08-16 17:06

VB6.0版本的可以吗?
我用的是构成法.
Option Explicit
Dim a, b, c, d, n
Private Sub Command1_Click()
For a = 1 To 9
For b = 0 To 9
n = a * 1000 + b * 100 + b * 10 + a
List1.AddItem n
Next
Next
End Sub
Private Sub Command2_Click()
For a = 1 To 6
For b = a + 1 To 7
For c = b + 1 To 8
For d = c + 1 To 9
n = a * 1000 + b * 100 + c * 10 + d
List2.AddItem n
Next
Next
Next
Next
End Sub
上面用的是构成法.
判断的:
Option Explicit
Dim s(4)
'回文数,用函数判断法
Private Sub Command1_Click()
Dim n As Integer
For n = 1001 To 9999
If (huiwenNun(n)) Then List1.AddItem n
Next
End Sub
'采用数字分离法
Function huiwenNun(n As Integer) As Boolean
Dim a, b, c, d
a = Int(n / 1000)
b = Int((n - a * 1000) / 100)
c = Int((n - a * 1000 - b * 100) / 10)
d = n - a * 1000 - b * 100 - c * 10
If a = d And b = c Then huiwenNun = True
End Function
'升序数,没有重复数字的
Private Sub Command2_Click()
Dim n As Integer
'For n = 1000 To 9999
For n = 1234 To 6789
If (sxNun(1234)) Then List2.AddItem n
Next
End Sub
'与上面不用的数字分离方法.还可以“按位”提取数字
Function sxNun(n As Integer) As Boolean
s(1) = Mid(n, 1, 1)
s(2) = Mid(n, 2, 1)
s(3) = Mid(n, 3, 1)
s(4) = Mid(n, 4, 1)
If s(1) < s(2) And s(2) < s(3) And s(3) < s(4) Then sxNun = True
End Function


名师点评:


允儿0001465

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯