利用数组可以有效地存储和处理成批数据本章主要内容数组内容摘要:
(1)创建应用程序的用户界面和设置对象属性 例 输入 10名学生的成绩,求出最高分和最低分 功能要求: 通过 Array函数输入 10个分数;单击“查找”按钮 (Command2)后,开始查找最高分和最低分,找到后显示在标签 Label1上 Option Base 1 Dim score As Variant Private Sub Form_Load() = 单击“查找”按钮开始查找最高分和最低分 score = Array(89, 96, 81, 67, 79, 90, 63, 85, 95, 83) End Sub (2) 编写程序代码 Private Sub Command1_Click() Dim max As Integer, min As Integer max = score(1) 39。 设定初值 min = score(1) For i = 2 To 10 If max score(i) Then 39。 找最高分 max = score(i) End If If min score(i) Then 39。 找最低分 min = score(i) End If Next i 39。 Chr(13)起换行作用 = 最高分: + Str(max) + _ Chr(13) + 最低分: + Str(min) End Sub 例 分别计算 5个学生和 3门课的平均分 某学习小组有 5名学生,成绩如表 分析: 用一个 二维数组 a(5, 3)来描述。 程序中设置两重循环,用以 实现每行和每列上的累加。 本例采用赋值语句来输入学生成绩,并采用 Print直接在窗体上输出结果 r=1 c=1, 2, 3 r=2 c=1, 2, 3 r=3 c=1, 2, 3 r=4 c=1, 2, 3 r=5 c=1, 2, 3 求 5个学生的平均分 下标使用情况 Option Base 1 Private Sub Form_Load() Dim a(5, 3) As Integer Dim r As Integer, c As Integer, s As Integer k = Array(数学 , 英语 , 计算机 ) 39。 输入课程名 a(1, 1) = 69: a(1, 2) = 89: a(1, 3) = 74 39。 输入学生成绩 a(2, 1) = 94: a(2, 2) = 80: a(2, 3) = 90 a(3, 1) = 57: a(3, 2) = 62: a(3, 3) = 73 a(4, 1) = 98: a(4, 2) = 94: a(4, 3) = 90 a(5, 1) = 73: a(5, 2) = 76: a(5, 3) = 63 例 Show Print 学生 , 平均分“ 39。 输出 20个减号“ ” Print String(20, ) For r = 1 To 5 s = 0 39。 累加前清 0 For c = 1 To 3 39。 累加同一行数据 s = s + a(r, c) Next c Print r, Format(s / 3, .0) Next r Print Print 课程 , 平均分 Print String(20, ) For c = 1 To 3 s = 0 For r = 1 To 5 39。 累加同一列数据 s = s + a(r, c) Next r Print k(c), Format(s / 5, .0) Next c End Sub 程序运行结果 解题方法: (1)利用 Int(91*Rnd+10)产生值为 10到 100 使用 Randomize得到不同的随机数序列 (2) 将 10个数放入数组 a a(1), a(2), a(3), … , a(10) ① 从这 10个下标变量中,选出最小值,通过交换把该值存入 a(1)中 ② 除 a(1)之外 (a(1)已存放最小值 ),从其余 9个下标变量中选出最小值 (即10个数中的次小值 ),通过交换把该值存入 a(2)中 ③ 选出 a(3)~ a(10)中的最小值,通过交换,把该值存入 a(3) ④ 重复上述处理, 至 a(8),可使 a(1)~ a(8)按小到大排列 ⑤ 第 9次处理,选出 a(9)及 a(10)中的最小值,通过交换把该值存入 a(9)中,此时 a(10)存放的就是最大值 例 随机产生十个 10~ 100的整数,用 “ 选择排序法 ” 按值从小到大顺序排序,最后输出结果 排列要求 小 大 示例: a(1) a(2) a(3) a(4) 90 64 65 59 1. a(1)与 a(2) ~ a(4)比较,选出最小值,结果 59 90 65 64 2. a(2)与 a(3) ~ a(4)比较,选出次小值,结果 59 64 90 65 3. a(3)与 a(4)比较,选出较小值,结果 59 64 65 90 i=1 j=2, 3, 4 i=2 j=3, 4 i=3 j=4 For i=1 to 3 For j=i+1 to 4 …… Next j Next i 程 序 结 构 完成上述比较及排序处理过程,可以采用两重循环结构,外循环的循环变量 i从 1到 9,共循环九次;内循环的循环变量 j从 i+1到 10 本例采用默认的用户界面,所需数据由随机函数产生,处理后结果信息通过 Print Private Sub Form_Load() Show Randomize Dim a(1 To 10) As Integer Print 原始数据: For i = 1 To 10 39。 产生 10个随机数 a(i) = In。利用数组可以有效地存储和处理成批数据本章主要内容数组
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。