内容 利用随机函数产生80个10—99之间的随机整数,将其中的偶数按有小到大的顺序排列并输出,将奇数由小到大的顺序排列并输出,在产生的80个随机整数中,找出其中的素数,并将这些素数求和
要求 随机产生80个整数存入数组,按每行十个数输出到窗体或文本框;偶数和奇数也分别存入数组,将排好数的偶数奇数分别输出到窗体或两个文本框中;用sub子过程或function函数过程判断随机整数是否为素数;将素数按每行十个数在窗体或文本框输出;将素数的个数及求和结果输出到窗体或文本框;界面自行设计
Private Sub Command1_Click()
Form_Load
End Sub
Private Sub Form_Load()
Dim ary(80) As Variant
Dim arye() As Variant
Dim aryg() As Variant
Dim arys() As Variant
Creatary ary, arye, aryg, arys
Text1.Text = DisplayAry(ary)
Text2.Text = DisplayAry(arye)
Text3.Text = DisplayAry(aryg)
Text4.Text = ArySum(ary)
Text5.Text = ArySum(arye)
Text6.Text = ArySum(aryg)
Text7.Text = DisplayAry(arys)
Text8.Text = UBound(arys) - 1 & "个素数的和为" & ArySum(arys)
End Sub
Sub Creatary(ary() As Variant, arye() As Variant, aryg() As Variant, arys() As Variant)
Randomize
Dim temp As Integer
Dim arylen As Integer
ReDim arye(1)
ReDim aryg(1)
ReDim arys(1)
For i = 1 To 80
temp = Int(Rnd() * 89 + 10)
ary(i - 1) = temp
If zs(temp) Then
arylen = UBound(arys)
ReDim Preserve arys(arylen + 1)
arys(arylen - 1) = temp
End If
If adj(temp) Then
arylen = UBound(arye)
ReDim Preserve arye(arylen + 1)
arye(arylen - 1) = temp
Else
arylen = UBound(aryg)
ReDim Preserve aryg(arylen + 1)
aryg(arylen - 1) = temp
End If
Next i
End Sub
Function ArySum(ary() As Variant) As Integer
Dim temp As Integer
For i = 0 To UBound(ary)
temp = temp + ary(i)
Next i
ArySum = temp
End Function
Function DisplayAry(ary() As Variant) As String
Dim temp, temp2 As String
Dim ilen As Integer
Dim ilen2 As Integer
Dim ilen3, m As Integer
ilen = UBound(ary)
If ilen Mod 10 = 0 Then
ilen2 = ilen \ 10
Else: ilen2 = ilen \ 10 + 1
End If
m = 0
temp = ""
For i = 1 To ilen2
ilen3 = 10
If i = ilen2 Then ilen3 = ilen - (ilen2 - 1) * 10
temp = ""
For j = 1 To ilen3
temp = temp & ary(m) & IIf(j < ilen3, ",", "")
m = m + 1
Next j
temp2 = temp2 & temp & Chr(10)
Next i
DisplayAry = temp2
End Function
Function adj(a As Integer) As Boolean '判断奇偶,偶数为TRUE
adj = IIf(a Mod 2 = 0, True, False)
End Function
Private Function zs(x As Integer) As Boolean '素数判断子过程
Dim d%
If x = 2 Then zs = True: Exit Function
For d = 2 To Int(Sqr(x))
If x Mod d = 0 Then Exit For: zs = False
If d = Int(Sqr(x)) Then zs = True
Next
End Function