- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验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
Print
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,属性设置如下:
控件名称 属性 值 Command1 Caption 产生并显示数据 Command2 Caption 统计分数段人数 代码如下:
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
Print
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) =
文档评论(0)