vb高手请进帮我做一个程序
实验内容利用随机函数产生80个10~99之间的随机整数,将其中的偶数按由小到大的顺序排列并输出,将奇数按由大到小的顺序排列并输出;在产生的80个随机整数中,找出其中的素数...
实验内容
利用随机函数产生80个10~99之间的随机整数,将其中的偶数按由小到大的顺序排列并输出,将奇数按由大到小的顺序排列并输出;在产生的80个随机整数中,找出其中的素数,并将这些素数求和。
实验要求
1.将随机产生的80个整数存入数组,按每行10个数输出到窗体或文本框中。
2.偶数和奇数也分别存入数组,将排好序的偶数和奇数分别输出到窗体或两个文本框中。
3.用Sub子过程或Function函数过程判断随机整数是否为素数。
4.将素数按每行10个数在窗体或文本框中输出。
5.将素数的个数及求和结果输出到窗体或文本框中。
6.界面由学生自行设计。
界面别做太好,做一般就行。我是初学者,要做的太好老师会发现的 展开
利用随机函数产生80个10~99之间的随机整数,将其中的偶数按由小到大的顺序排列并输出,将奇数按由大到小的顺序排列并输出;在产生的80个随机整数中,找出其中的素数,并将这些素数求和。
实验要求
1.将随机产生的80个整数存入数组,按每行10个数输出到窗体或文本框中。
2.偶数和奇数也分别存入数组,将排好序的偶数和奇数分别输出到窗体或两个文本框中。
3.用Sub子过程或Function函数过程判断随机整数是否为素数。
4.将素数按每行10个数在窗体或文本框中输出。
5.将素数的个数及求和结果输出到窗体或文本框中。
6.界面由学生自行设计。
界面别做太好,做一般就行。我是初学者,要做的太好老师会发现的 展开
4个回答
展开全部
太巧了 以前也做过类似的题目,稍微修改一下就符合你的要求了。现在把代码给你,想要源码的话,就用百度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
'在窗体上分别加上三个按钮和文本框控件。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
展开全部
bushiba...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
bushiba
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询