早教吧作业答案频道 -->其他-->
vb上机操作题关于数组随机产生N个(20《=n,=100)两位整数,找出其中的奇数、偶数和素数,并将奇数按升序排序,将偶数按降序排序,讲素数求和
题目详情
vb上机操作题关于数组
随机产生N个(20《=n,=100)两位整数,找出其中的奇数、偶数和素数,并将奇数按升序排序,将偶数按降序排序,讲素数求和
随机产生N个(20《=n,=100)两位整数,找出其中的奇数、偶数和素数,并将奇数按升序排序,将偶数按降序排序,讲素数求和
▼优质解答
答案和解析
Private Sub Form_Click()
Dim n%, a%(), j%(), O%(), s%()
Randomize
n = Val(InputBox("请输入要产生的随机数个数n:"))
ReDim a(n)
Print n; "个随机数为";
For i = 1 To n
a(i) = Int(Rnd * 81 + 20)
Print a(i);
Next
Print
'找出奇数
ReDim j(1)
k = 1
For i = 1 To n
If a(i) Mod 2 = 1 Then
j(k) = a(i)
k = k + 1
ReDim Preserve j(k)
End If
Next
'将奇数按升序排列
For i = 1 To k - 1
For m = 1 To k - 1 - i
If j(m) > j(m + 1) Then t = j(m): j(m) = j(m + 1): j(m + 1) = t
Next
Next
Print "其中奇数有:";
For i = 1 To k - 1
Print j(i);
Next
Print
'找出偶数
ReDim O(1)
k = 1
For i = 1 To n
If a(i) Mod 2 = 0 Then
O(k) = a(i)
k = k + 1
ReDim Preserve O(k)
End If
Next
'将偶数按升序排列
For i = 1 To k - 1
For m = 1 To k - 1 - i
If O(m) < O(m + 1) Then t = O(m): O(m) = O(m + 1): O(m + 1) = t
Next
Next
Print "其中奇数有:";
For i = 1 To k - 1
Print O(i);
Next
Print
'找出素数
Dim f As Boolean
ReDim s(1)
k = 1
For i = 1 To n
f = False
For m = 2 To Sqr(a(i))
If a(i) Mod m = 0 Then f = True: Exit For
Next
If Not f Then s(k) = a(i): k = k + 1: ReDim Preserve s(k)
Next
'素数求和
For i = 1 To k - 1
Sum = Sum + s(i)
Next
Print "素数的和为:"; Sum
End Sub
Dim n%, a%(), j%(), O%(), s%()
Randomize
n = Val(InputBox("请输入要产生的随机数个数n:"))
ReDim a(n)
Print n; "个随机数为";
For i = 1 To n
a(i) = Int(Rnd * 81 + 20)
Print a(i);
Next
'找出奇数
ReDim j(1)
k = 1
For i = 1 To n
If a(i) Mod 2 = 1 Then
j(k) = a(i)
k = k + 1
ReDim Preserve j(k)
End If
Next
'将奇数按升序排列
For i = 1 To k - 1
For m = 1 To k - 1 - i
If j(m) > j(m + 1) Then t = j(m): j(m) = j(m + 1): j(m + 1) = t
Next
Next
Print "其中奇数有:";
For i = 1 To k - 1
Print j(i);
Next
'找出偶数
ReDim O(1)
k = 1
For i = 1 To n
If a(i) Mod 2 = 0 Then
O(k) = a(i)
k = k + 1
ReDim Preserve O(k)
End If
Next
'将偶数按升序排列
For i = 1 To k - 1
For m = 1 To k - 1 - i
If O(m) < O(m + 1) Then t = O(m): O(m) = O(m + 1): O(m + 1) = t
Next
Next
Print "其中奇数有:";
For i = 1 To k - 1
Print O(i);
Next
'找出素数
Dim f As Boolean
ReDim s(1)
k = 1
For i = 1 To n
f = False
For m = 2 To Sqr(a(i))
If a(i) Mod m = 0 Then f = True: Exit For
Next
If Not f Then s(k) = a(i): k = k + 1: ReDim Preserve s(k)
Next
'素数求和
For i = 1 To k - 1
Sum = Sum + s(i)
Next
Print "素数的和为:"; Sum
End Sub
看了 vb上机操作题关于数组随机产...的网友还看了以下:
一个水池装有一个放水管和一排水管,但开放水管8小时可讲空池注满,单开排水管12小时可讲吃水排空,如果 2020-03-31 …
排水法收集氧气的具体操作后续拿出集气瓶的具体步骤不怎么懂老师也没具体讲关于集气瓶和玻璃片的 2020-05-13 …
三一班四十几名同学排队做操,排成2列纵队最后多1人,排成3列纵队最后多1人,排成4列纵队最后多3人 2020-05-21 …
五年级有36名男生和54名女生,早上做操排队时,如果每排男生和女生的人数的相同,最少排几排? 2020-06-11 …
同学们做操,排成一个正方形队伍,从前,后,左,右数,小刚都排第3个,一共有多少名同学做操?画出点子 2020-06-16 …
45个同学排成一排面向老师,每次向后转10个人,经过若干次后,有可能所有人背向老师吗?在一次团体操 2020-06-19 …
八(12)班学生共有48人,班上座位是安排8列,6排,进门为第1列,靠讲台一排为第一排,一组有2列 2020-06-28 …
一道关于排列组合的问题有m1,m2,m3三种不同型号的机床,A,B,C,D,E五名操作人员,其中C不 2020-11-24 …
问你一道数学题!某班原有62人,一天上操排队,4人一排多2人,5人一排多3人,6人一排多4人,这天出 2020-11-30 …
班级活动主持串词啊快急急主持串词是一个班级演讲内容有一个是英语演讲关于勤勉一个是名人名言关于励志一个 2021-02-01 …