
《实验E数组答案》由会员分享,可在线阅读,更多相关《实验E数组答案(12页珍藏版)》请在文档大全上搜索。
1、实验 E 数组答案小值、1、随机产生 30-100 (包括 30、100)的 10个正整数,求最大值、最 平均值,并显示整个数组的值和结果,如图 E.1 所示。程序:Private Sub Command 1 _Click()Dim a(l To 10) As IntegerDim i%, max%, min%, sum!, avg!For i = 1 To 10,随机产生10个30-100之间的随机数存放在一维数组a中a(i) = Int(Rnd * (100 -30 + 1) + 30sum = sum + a(i) ,所有元素求和Print a(i);Next iPrintavg = s
2、um / 10max = a(l): min = a(l) ' 设定擂主For i = 1 To 10If a(i) > max Then max = a(i)If a(i) < min Then min = a(i)Next iPrint "Max=" max; "Min=" min; "Avg=" avgEnd Sub2、已知6个学生的成绩,通过对数组赋初值的方法,利用String函 数,以每5分为一个“?”显示,并显示学生的成绩,如图E.2所示。程序:Option Base 1Private Sub Comm
3、a nd 1 _Click()Dim a(), i%a = Array(56, 78, 9& 88, 76, 78)For i = LBound(a) To UBound(a)Print String(a(i) 5, a(i)Next iEnd Sub3、随机产生20个学生的成绩,统计各分数段人数。即0? 59、60? 69、70? 79、80? 89、90-100,并显示结果。产生的数据在Picture 1显示,统计结果在Picture2显示,如图 E.3所示。说明:请在窗体上放置 2个PictureBox, 2个CommandButton,属性 设置如下:控件名称属性值Comma
4、nd 1Capti on产生并显示数据Comma nd2Capti on统计分数段人数代码如下:Dim a(l To 20) As Integer, s(5 To 9) As IntegerPrivate Sub Command 1 _Click()Dim i%For i = 1 To 20a(i) = Int(Rnd * (100-0 + 1) 产生 0-100 之间的随机数Picture 1.Print a(i); 在 Picture 1 上打印If i Mod 4 = 0 Then Picture 1.Print' 每行打印 4 个Next iEnd SubPrivate Sub
5、 Command2_Click() ,统计分数段人数Dim i%, k%For i = 1 To 20k 二 a(i) 10,分类统计Select Case kCase 0To5 '059分的不及格人数s(5) = s(5) + 1Case 9 To 10 '90-100 之间的人数s(9) = s(9)+ 1Case 6 To 8s(k) = s(k) + 1End SelectNext iFor i = 5 To 9' 若某个分数段人数为 0 则不打印If s(i) <> 0 Then Picture2.Print "s(" &
6、; i & ") 的人数有 "& s(i) & " 个"Next iEnd Sub4、随机产生 10 个 2 位数,按从大到小递减的顺序排列,并显示排序 结 果。代码:Private Sub Command 1 _Click()Dim a(l To 10) As IntegerDim i%, t%, n%Print"原数组为:"n = UBound(a) 'n 为数组元素的个数For i = 1 To na(i) = Int(Rnd * (99 - 10 + 1) + 10Print a(i);Next
7、 iPrintFor i = 1 To n - 1'n 个元素需 n-1 趟排序Forj = lTon-i,比较的次数If a(j) < a(j + 1) Then '从大到小排序 t = a(j): a(j) = a(j + 1): a(j + 1) = tEnd IfNext j, iPrint"从大到小排序后的数组为For i = 1 To nPri nt a(i);Next iPrintEnd Sub5、在通用声明段声明两个数组,利用随机函数形成如下两个数组:要求:1)以下三角形式显示 A数组、上三角形式显示 B数组。2)求A数组主对角线元素之和和B数组
8、副对角线元素之和。说明:在窗体上加载 3个PictureBox, 3个CommandButton,并设置如下属性:控件名称属性值Comma nd 1Capti on下三角Comma nd2Capti on上三角Comma nd3Capti on对角线和代码:Dim a(l To 4, 1 To 4) As Integer, b(l To 4, 1 To 4) As IntegerPrivate Sub Command 1 _Click()Dim i%, j%For i = 1 To 4For j = 1 To 4a(i, j) = Int(Rnd * (70 - 30 + 1) + 30Nex
9、t j, iFor i = 1 To 4Forj = 1 ToiPicture 1.Print Tab(j * 5); a(i, j);Next jPicture 1.PrintNext iEnd SubPrivate Sub Command2_Click()Dim i%, j%For i = 1 To 4For j = 1 To 4b(i, j) = Int(Rnd * (139-101 + 1) + 101Next j, iFor i = 1 To 4For j = i To 4Picture2.Print Tab(j * 5); b(i, j);Next jPicture2.PrintN
10、ext iEnd SubPrivate Sub Command3_Click()Dim suma%, sumb%, i%For i = 1 To 4suma = suma + a(i, i)sumb = sumb + b(i, 5 - i)Next iPicture3.Print "A 数组主对角线元素和为 sumaPicture3.Print "B 数组副对角线元素和为 :" sumbEnd Sub6、输入整数n,显示出具有n行的杨辉三角形。说明:在窗体上放置 1 个 PictureBox, 1 个 Label, 1 个 TextBox, 并 在 Textl 的
11、 KeyPress 事件中进行编程。代码:Option Base 1Private Sub Text 1 _KeyPress(KeyAscii As Integer)Dim a() As Integer, n%Dim i%, j%IfKeyAscii = 13 Then 在 Textl 中输入行数后按回车键 n = Textl.TextReDim a(n, n)' 生成数组For i = 1 To na(i, i) = 1: a(i, 1) = 1For j = 2 To ia(i,j) = a(i- l,j - 1) + a(i- l,j)Next jNext i' 打印数组
12、For i = 1 To nForj = 1 ToiPicture 1.Print Tab(4 * j); a(i, j);Next jPicture 1.PrintNext iEnd IfEnd Sub7、设计一个选课的程序。说明:在窗体放置 2个ListBox,设置Listl的Sorted属性为True。代码:Private Sub Form_Load()List 1.Additem "Web 程序设计 "List 1.Additem "C/C+ 程序设计 "List 1.Additem "VB 程序设计 "Listl.Addit
13、em " 多媒体技术与应用 "List 1.Additem "网络技术与应用 "Listl.Additem " 数据库技术与应用 "Listl.Additem " 软件技术基础 "Listl.Additem " 大学计算机基础 "Listl.Additem " 硬件技术基础 "End SubPrivate Sub Listl_Click()If List2.ListCount >= 5 Then 'List2 中项目数超过 5 项提示,否则添加MsgBox &q
14、uot;超过 5 门课程,不能再选 "ElseList2.AddItem Listl.TextList 1 .Removeitem Listl.ListindexEnd IfEnd Sub按回中最小值个8、窗体上建立一个简单组合框,在组合框的文本框输入数字字符, 车键后加入到组合框的列表框内。单击“交换”按钮,将列表框 项目和第 0 个项目交换;最大值项目与最后项目交换。 说明:在窗体放置1个ComboBox,把它的Style属性设置为1,再放置1CommandButton,设置它的Caption属性为”交换”代码:Private Sub Combol_KeyPress(KeyAsc
15、ii As Integer)If KeyAscii =13 Then ' 按回车键Combo 1 .Additem Combo 1.TextCombo 1.Text =""End IfEnd SubPrivate Sub Command 1 _Click()Dim max%, imax%, min%, imin%, i%, t%max = Val(Combol .List(O)imax = 0min = Val(Combol .List(O)imin = 0For i = 0 To Combo 1 .ListCount - 1If Val(Combo 1 .List
16、(i) > max Thenmax = Combo l.List(i)imax = 1End IfIf Val(Combo 1 .List(i) < min Then min = Combo l.List(i) imin = iEnd IfNext it = Combo l.List(O)Combo l.List(O) = Combo 1 .List(imin)Combo 1 .List(imin) = tt = Combo 1 .List(Combol .ListCount - 1)Combo 1 .List(Combo 1 .ListCount - 1) = Combo 1 .
17、List(imax) Combo 1 .List(imax) = tEnd Sub应的9、提供在窗体上显示的以汉字开头的字体名称,并显示该名称所对 字体样式。说明:在窗体上放置 1 个 ListBox, 1 个 PictureBox代码:Private Sub Form_Load()Dim i%Form4.Show,先让窗体显示出来,否则print方法无法执行For i = 0 To Screen.FontCount - 1 ' 对屏幕安装的所有字体操作If Asc(Left(Screen.Fonts(i), 1) <0 Then ,如果是汉字List 1.Additem Screen.Fonts(i) 在 List 1 中添加这种字体Picturel.FontName = Screen.Fonts(i) 对 Picture 1 设置这种字体 用当前设置的字体显示“中国同济大学”Picturel.Print " 中国同济大学 "End IfNext iEnd Sub