
vb 随机产生20个三位正整数存入一维数组A中,找出其中升序数,回文数
展开全部
Private Sub Command1_Click()
Dim a%(0 To 19), b%(0 To 19), hwsN%, sxsN%
Dim sxsbz As Boolean, hwsbz As Boolean
Print "随机产生20个三位正整数如下:";
For i = 0 To 19
Randomize
a(i) = Int(Rnd * 900 + 100)
If i Mod 5 = 0 Then Print
Print a(i);
Next i
Print "其中有升序数:";
For i = 0 To 19
Call sxs(a(i), sxsbz)
If sxsbz Then
Print a(i);
sxsN = sxsN + 1
End If
Next i
Print sxsN & "个。";
Print "其中有回文数:";
For i = 0 To 19
Call hws(a(i), hwsbz)
If hwsbz Then
Print a(i);
hwsN = hwsN + 1
End If
Next i
Print hwsN & "个。"
End Sub
Private Function sxs(n As Integer, bz As Boolean) '判断所给n是不是升序数,是的话,bz返回true,否返回false
Dim a%, b%, c%, tmp%
tmp = Trim(Str(n))
a = Mid(tmp, 1, 1)
b = Mid(tmp, 2, 1)
c = Mid(tmp, 3, 1)
If (a < b) And (b < c) Then bz = True Else bz = False
End Function
Private Function hws(n As Integer, bz As Boolean) '判断所给n是不是回文数,是的话,bz返回true,否返回false
If Trim(Str(n)) = Trim(StrReverse(Str(n))) Then bz = True Else bz = False
End Function
展开全部
'简化一下楼上代码的回文数函数
Private Function hws(n As Integer, bz As Boolean)
'判断所给n是不是回文数,是的话,bz返回true,否返回false
If Str(n) = StrReverse(Str(n)) Then bz = True Else bz = False
End Function
‘另外要求是应该不是排序吧,是升序数。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询