网站大量收购独家精品文档,联系QQ:2885784924

VB 数组的应用.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB 数组的应用

实验八 数组的应用(一) 1、验证实验一。 假定学生的成绩在数组XS_CJ(1 to 10)中,对应的姓名在数组XS_XM(1 To 10)中,单击按钮“排序”时,能按分数从高到低的排列,即排序后XS_CJ(1)和XS_XM(1)为第一名的成绩、姓名。 题目分析:本实验是完成一个对数组元素从大到小的排序。可以采用教材中中介绍的冒泡法完成排序,在此介绍另一种简单的排序方法——比较交换法。 假设对A(N)数组中的数据从大到小排序,比较交换法的排序步骤如下: (1)将第一个数与第2个到第10个数依次比较,如果A(1)A(J)(J=2,3,…,10),则交换A(1)和A(J); (2)将第2个数与第3个到第10个依次比较,如果A(2)A(J)(J=3,…,10),则交换A(2)和A(J); (3)重复以上方法,将第I个数与第I+1个数到第10个数依次比较,如果A(I)A(J)(J=3,…,10),则交换A(I)和A(J); 共重复N-1轮。 在本实验中,每次对成绩的比较中,需要交换的不仅XS_CJ数组中的元素,而且对应的XS_XM数组中对应的元素也要进行交换。 (1)设计界面可参考如下图8.1所示。 用列表框LstOldMark和LstNewMark分别来显示排序前后学生的姓名和成绩。 (2)编写代码 在窗体模块的声明段声明 Option Base 1 Dim XS_XM(10) As string Dim XS_CJ(10) As Single 在窗体的Load事件过程中完成对数据的输入。 For I = 1 To 10 XS_XM(I) = InputBox(请输入第 Str(I) 个学生的姓名, 成绩排序) XS_CJ(I)=val(InputBox(请输入第 Str(I) 个学生的成绩, 成绩排序)) LstOldMark.AddItem XS_XM(I) XS_CJ(I) Next I 在“排序”按钮的Click事件过程中完成排序,部分代码如下: ‘用比较交换法进行排序 For I=1 To 9 For J=I+1 To 10 If XS_CJ(I)XS_CJ(J) Then ‘交换学生成绩 T=XS_CJ(I) :XS_CJ(I)=XS_CJ(J): XS_CJ(J)=T ‘交换学生姓名 T=XS_XM(I) : XS_XM (I)= XS_XM (J): XS_XM (J)=T End If Next J Next I ‘排序的结果显示于列表框LstNewMark中,请自行补充完成。 2、验证实验二。 在列表框中生成某包含有两位随机整数的6行5列的矩阵,单击“转置”按钮对该矩阵进行转置,结果显示于另一个列表框中。 题目分析:矩阵的转置就是将矩阵的行和列交换。定义两个二维数组A(6,5)和B(5,6),用二重循环和随机函数产生二维数组A(6,5)的各元素。 设计界面如下: 列表框LstA中显示原矩阵A,列表框LstB中显示转置后的矩阵B,命令按钮“输入”完成矩阵A的生成和显示,“转置”完成矩阵A的转置,并将结果显示在LstB中。 编写代码 在窗体模块的声明段声明数组: Dim A(6,5) As Integer, B(5,6) As Integer “输入”命令按钮的Click事件过程中,用二重循环和随机函数产生二维数组A(6,5)的各元素。请自行完成。 “转置”命令按钮的Click事件过程代码 For n = 1 To 5 s = For m = 1 To 6 B(n, m) = A(m, n) s = s Format(B(n, m), @@@) Next m LstB.AddItem LstB.AddItem s Next n 3、程序设计一。 随机产生20名同学的身高,编写程序求最高身高、最低身高和平均身高。假定同学的身高范围是1.55米到1.80米。 程序设计二。 修改验证实验一的界面,增加查找功能。在排好序的数组中查找某个学生的成绩,如果找到,则显示找到显示该学生的成绩以及名次,如果没有找到,则给出提示。 题目分析:这个一个顺序查找的问题。将要查找的学生姓名依次与XS_XM数组中的元素比较,如果与第I个元素相等,表示找到,XS_CJ(I)和I分别是该学生的成绩和名次。如果遍历完所有的姓名,仍没相等的元素,表明没有该学生的成绩,给出提示信息。 5、程序设计三。 编写程序求一个3行3列矩阵的三行中元素之和最大的那一行。 题目分析:用二维数组a(3,3),表示3行3列的矩阵,从键盘上输入矩阵的元素值

您可能关注的文档

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档