实验E+数组答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验E 数组答案
1、随机产生30~100(包括30、100)的10个正整数,求最大值、最小值、平均值,并显示整个数组的值和结果,如图E.1所示。
程序:
Private Sub Command1_Click()
Dim a(1 To 10) As Integer
Dim i%, max%, min%, sum!, avg!
For i = 1 To 10
'随机产生10个30~100之间的随机数存放在一维数组a中
a(i) = Int(Rnd * (100 - 30 + 1)) + 30
sum = sum + a(i) '所有元素求和
Print a(i);
Next i
avg = sum / 10
max = a(1): min = a(1) '设定擂主
For i = 1 To 10
If a(i) > max Then max = a(i)
If a(i) < min Then min = a(i)
Next i
Print "Max="; max; "Min="; min; "Avg="; avg
End Sub
2、已知6个学生的成绩,通过对数组赋初值的方法,利用String函数,以每5分为一个“◆”显示,并显示学生的成绩,如图E.2所示。程序:
Option Base 1
Private Sub Command1_Click()
Dim a(), i%
a = Array(56, 78, 98, 88, 76, 78)
For i = LBound(a) To UBound(a)
Print String(a(i) \ 5, "◆"); a(i)
Next i
End Sub
3、随机产生20个学生的成绩,统计各分数段人数。即0~59、60~69、70~79、80~89、90~100,并显示结果。产生的数据在Picture1显示,统计结果在Picture2显示,如图E.3所示。
说明:请在窗体上放置2个PictureBox,2个CommandButton,属性设置如下:
代码如下:
Dim a(1 To 20) As Integer, s(5 To 9) As Integer
Private Sub Command1_Click()
Dim i%
For i = 1 To 20
a(i) = Int(Rnd * (100 - 0 + 1)) '产生0~100之间的随机数Picture1.Print a(i); '在Picture1上打印
If i Mod 4 = 0 Then Picture1.Print '每行打印4个
Next i
End Sub
Private Sub Command2_Click() '统计分数段人数
Dim i%, k%
For i = 1 To 20
k = a(i) \ 10 '分类统计
Select Case k
Case 0 To 5 '0~59分的不及格人数
s(5) = s(5) + 1
Case 9 To 10 '90~100之间的人数
s(9) = s(9) + 1
Case 6 To 8
s(k) = s(k) + 1
End Select
Next i
For i = 5 To 9
'若某个分数段人数为0则不打印
If s(i) <> 0 Then Picture2.Print "s(" & i & ")的人数有" & s(i) & "个" Next i
End Sub
4、随机产生10个2位数,按从大到小递减的顺序排列,并显示排序结果。
代码:
Private Sub Command1_Click()
Dim a(1 To 10) As Integer
Dim i%, t%, n%
Print "原数组为:"
n = UBound(a) 'n为数组元素的个数
For i = 1 To n
a(i) = Int(Rnd * (99 - 10 + 1)) + 10
Print a(i);
Next i
For i = 1 To n - 1 'n个元素需n-1趟排序
For j = 1 To n - i '比较的次数
If a(j) < a(j + 1) Then '从大到小排序
t = a(j): a(j) = a(j + 1): a(j + 1) = t
End If
Next j, i
Print "从大到小排序后的数组为:"
For i = 1 To n
Print a(i);
Next i
End Sub
5、在通用声明段声明两个数组,利用随机函数形成如下两个数组:要求:
1)以下三角形式显示A数组、上三角形式显示B数组。
2)求A数组主对角线元素之和和B数组副对角线元素之和。
说明:在窗体上加载3个PictureBox,3个CommandButton,并设置如下属性:
代码:
Dim a(1 To 4, 1 To 4) As Integer, b(1 To 4, 1 To 4) As Integer
Private Sub Command1_Click()
Dim i%, j%