vb高手请进帮我做一个程序

实验内容利用随机函数产生80个10~99之间的随机整数,将其中的偶数按由小到大的顺序排列并输出,将奇数按由大到小的顺序排列并输出;在产生的80个随机整数中,找出其中的素数... 实验内容
利用随机函数产生80个10~99之间的随机整数,将其中的偶数按由小到大的顺序排列并输出,将奇数按由大到小的顺序排列并输出;在产生的80个随机整数中,找出其中的素数,并将这些素数求和。
实验要求
1.将随机产生的80个整数存入数组,按每行10个数输出到窗体或文本框中。
2.偶数和奇数也分别存入数组,将排好序的偶数和奇数分别输出到窗体或两个文本框中。
3.用Sub子过程或Function函数过程判断随机整数是否为素数。
4.将素数按每行10个数在窗体或文本框中输出。
5.将素数的个数及求和结果输出到窗体或文本框中。
6.界面由学生自行设计。
界面别做太好,做一般就行。我是初学者,要做的太好老师会发现的
展开
 我来答
题库爱好者
2010-05-25 · TA获得超过186个赞
知道小有建树答主
回答量:239
采纳率:100%
帮助的人:169万
展开全部
太巧了 以前也做过类似的题目,稍微修改一下就符合你的要求了。现在把代码给你,想要源码的话,就用百度HI与我联系吧。

'在窗体上分别加上三个按钮和文本框控件。name属性默认,三个文本框的MultiLine属性都设为True,ScrollBars属性都设为3-Both

'以下是具体的代码,不懂的地方可以问我。

Option Explicit
Dim RndArray() As Integer '存储随机产生的80个整数
Dim EvenArray() As Integer '存储80个随机数中的偶数
Dim OddArray() As Integer '存储80个随机数中的奇数
Dim PrimeArray() As Integer '存储筛选出来的素数

Private Sub Command1_Click()
'生成80个1-100的随机整数,存入数组并输出
Dim i As Integer
Text1 = "随机生成了以下80个整数" & vbCrLf
For i = 0 To 79
Text1 = Text1 & Format(CStr(RndArray(i)), "00") & Space(2)

'换行条件,满10个就换行
If i <> 0 And Right(Str(i), 1) = "9" Then
Text1 = Text1 & vbCrLf
End If
Next i

End Sub

Private Sub Command2_Click()
'判断生成的是否是偶数,并进行排序
Dim i%, j%, k%
j = 0
k = 0
For i = 0 To 79
If RndArray(i) Mod 2 = 0 Then
'偶数存入偶数组
ReDim Preserve EvenArray(j)
EvenArray(j) = RndArray(i)
j = j + 1
Else
'奇数存入奇数组
ReDim Preserve OddArray(k)
OddArray(k) = RndArray(i)
k = k + 1
End If
Next i
'开始对偶数和奇数进行排序并显示
EvenArray = Sort(EvenArray, True)
OddArray = Sort(OddArray, False)
Text2 = "80个随机数中偶数共有" & CStr(UBound(EvenArray) + 1) & "个;" & vbCrLf & "由小到大排列结果为:" & vbCrLf

Dim m%, n%
For m = 0 To UBound(EvenArray)
Text2 = Text2 & Format(CStr(EvenArray(m)), "00") & Space(2)
If m <> 0 And Right(Str(m), 1) = "9" Then
Text2 = Text2 & vbCrLf
End If
Next m
Text2 = Text2 & vbCrLf & "80个随机数中奇数共有" & CStr(UBound(OddArray) + 1) & "个;" & vbCrLf & "由大到小排列结果为:" & vbCrLf

For n = 0 To UBound(OddArray)
Text2 = Text2 & Format(CStr(OddArray(n)), "00") & Space(2)
If n <> 0 And Right(Str(n), 1) = "9" Then
Text2 = Text2 & vbCrLf
End If
Next n

End Sub

Private Sub Command3_Click()
Text3 = "产生的素数有:" & vbCrLf
Dim i%, j%, k%, PrimeSum%
'收集产生的素数,并求和
j = 0
PrimeSum = 0
For i = 0 To 79
If isPrime(RndArray(i)) = True Then
ReDim Preserve PrimeArray(j)
PrimeArray(j) = RndArray(i)
PrimeSum = PrimeSum + PrimeArray(j)
j = j + 1
End If
Next i

For k = 0 To UBound(PrimeArray)

Text3 = Text3 & Format(CStr(PrimeArray(k)), "00") & Space(2)

If k <> 0 And Right(Str(k), 1) = "9" Then
Text3 = Text3 & vbCrLf
End If
Next k
Text3 = Text3 & vbCrLf & "产生的所有素数之和为:" & CStr(PrimeSum)
End Sub

Private Sub Form_Load()
'生成80个1-100的随机整数,存入数组并输出

Randomize
Dim i As Integer
ReDim RndArray(0 To 79)

For i = 0 To 79
RndArray(i) = Int(Rnd * 100)
Next i
End Sub

Private Function Sort(SortArray() As Integer, Optional low As Boolean = True) As Integer()
'参数说明
'SortArray() 待排序的数组
'low 是否按升序排列,默认为true
Dim i%, j%, temp%

Dim tmpSort() As Integer
For i = LBound(SortArray) To UBound(SortArray) - 1
For j = i To UBound(SortArray)
If SortArray(i) >= SortArray(j) Then
temp = SortArray(i)
SortArray(i) = SortArray(j)
SortArray(j) = temp
End If
Next j
Next i
'输出排序后的数组;
For i = 0 To UBound(SortArray)
ReDim Preserve tmpSort(i)
If low = True Then
'升序
tmpSort(i) = SortArray(i)
Else
'降序
tmpSort(i) = SortArray(UBound(SortArray) - i)
End If
Next i
Sort = tmpSort
End Function

Private Function isPrime(intNum As Integer) As Boolean
'判断是否是素数的函数

Dim i As Integer
For i = 2 To Sqr(intNum)
If intNum Mod i = 0 Then isPrime = False: Exit Function
Next i
isPrime = True
End Function
萤火虫与满天星
2010-05-25 · TA获得超过895个赞
知道小有建树答主
回答量:1256
采纳率:0%
帮助的人:929万
展开全部
bushiba...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喻元恺Va
2010-05-25 · TA获得超过904个赞
知道小有建树答主
回答量:4465
采纳率:0%
帮助的人:1795万
展开全部
bushiba
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
375627205
2010-05-25
知道答主
回答量:4
采纳率:0%
帮助的人:6842
展开全部
球才知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式