- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章数组案例
第5章 数组
5.1基本概念及操作
一组具有相同名字不同下标的变量构成了数组。组成数组的变量称为数组元素。如score(1),score(1),score(2)……score(50),为具有相同名字score,不同下标i,其中i=1,2,……50的一组变量,称其为数组score;组成数组的变量score(i)为数组元素,i称为下标变量。如果处理较大数据量的问题,使用数组可以使程序简洁,并且可以解决简单变量无法解决的一些问题。如求50个学生的平均成绩,并统计高于平均成绩的人数。求平均成绩的问题使用简单变量即可解决,其程序段为:
For i = 1 To 50
score = InputBox(请输入学生的成绩)
sum = sum + score
Next i
ave = sum / (i - 1)
Print ave
End Sub
但是如果要统计高于平均成绩的人数,用简单变量是无法解决的,除非定义50个简单变量。这个问题用数组解决就变得非常简单,程序段如下:
For i = 1 To 50
score(i) = InputBox(请输入学生的成绩)
sum = sum + score(i)
Next i
ave = sum / (i - 1)
Print ave
For i = 1 To 50
If score(i) ave Then n = n + 1
Next i
Print n
数组分为静态数组和动态数组,数组必须先声明后使用。
5.1.1 静态数组
数组在声明时确定其大小,此数组称为静态数组。
1.一维数组
下标只有一个的数组称为一维数组。声明一维数组的形式如下:
Dim 数组名([下界 To]上界)[As 类型]
说明:
下界和上界确定了数组元素下标的取值范围,它们的值不得超过Long数据类型的范围。若省略[下界 To ],则系统默认下界为0。
下标为常量,不可为变量或表达式。
数组元素的个数为:上界-下界+1。如Dim score(50) As Single 声明了Single类型的一维数组score,其大小为51即数组有score(0),score(1)……score(50)共51个元素,每个元素都为Single类型;Dim a(-5 To 3) As Integer定义了包含9个元素的数组a。
数组名的命名规则与变量名相同
省略[As 类型]则定义的数组为变体数组
定义了一个数组就在内存中分配了一组连续的存储单元。如Dim s(1 to 50) Integer 的内存分配情况如下:
s(1) s(2) s(3) …… s(49) s(50) 2.数组的基本操作
(1)数组的输入
①利用循环结构分别给数组元素赋值。数据的输入可以通过InputBox函数或文本框等
例如:
For i = 1 To 50
score(i) = InputBox(请输入学生的成绩)
Next i
②在一维数组中利用Array函数为数组元素赋值,其格式为:
数组名=Array(数组元素值)
例如:
Dim s()
s=Array(1,2,3,4,5)
将1,2,3,4,5这5个数赋值给数组s即s(0),s(1),s(2),s(3),s(4)的值分别为1,2,3,4,5。
③数组名到数组名的直接赋值。
例如:
Dim a(), b()
a = Array(1, 2, 3, 4, 5)
b = a
将数组a的值1,2,3,4,5赋值给数组b相应的元素。
(2)For Each...Next语句
For Each...Next语句类似于For...Next 语句,用来指定重复次数的一组操作。但For Each...Next语句专门用于数组和集合。其一般格式为:
For Each 成员 In 数组
循环体
[Exit For]
……
Next [成员]
其中,“成员”是一个变体变量,代表数组元素;“数组”为已定义的数组名。循环体语句对数组中的每个元素进行处理。
例如:
Dim s(1 to 5)
……
For Each x in s
print x;
Next x
数组s由5个元素组成,语句重复执行输出数组元素x的操作5次。
(3)数组的输出
用循环结构或For Each...Next语句。
【实例5.1】输入大赛选手的姓名和成绩,输出成绩列表。窗体运行界面如图5-1所示。
(1)实例要求
“姓名”(txtname)文本框用于输入选手姓名;“成绩”(txtscore)文本框用于输入选手相应的成绩;单击“显示”(cmdshow)按钮,列表框(lstscore)显示选手成绩单。“排序”按钮的事件过程将在实例2中完成。列表框的使用参见本章5.2节。
图5-1 成绩窗体运行界面
(2)实例目的
掌握一维数组的输入方法及
文档评论(0)