收藏 分销(赏)

实验E+数组答案.doc

上传人:s4****5z 文档编号:8972580 上传时间:2025-03-09 格式:DOC 页数:12 大小:58KB
下载 相关 举报
实验E+数组答案.doc_第1页
第1页 / 共12页
实验E+数组答案.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述
实验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) = t End If Next j, i Print "从大到小排序后的数组为:" For i = 1 To n Print a(i); Next i Print End Sub 5、在通用声明段声明两个数组,利用随机函数形成如下两个数组: 要求: 1)以下三角形式显示A数组、上三角形式显示B数组。 2)求A数组主对角线元素之和和B数组副对角线元素之和。 说明:在窗体上加载3个PictureBox,3个CommandButton,并设置如下属性: 控件名称 属性 值 Command1 Caption 下三角 Command2 Caption 上三角 Command3 Caption 对角线和 代码: Dim a(1 To 4, 1 To 4) As Integer, b(1 To 4, 1 To 4) As Integer Private Sub Command1_Click() Dim i%, j% For i = 1 To 4 For j = 1 To 4 a(i, j) = Int(Rnd * (70 - 30 + 1)) + 30 Next j, i For i = 1 To 4 For j = 1 To i Picture1.Print Tab(j * 5); a(i, j); Next j Picture1.Print Next i End Sub Private Sub Command2_Click() Dim i%, j% For i = 1 To 4 For j = 1 To 4 b(i, j) = Int(Rnd * (139 - 101 + 1)) + 101 Next j, i For i = 1 To 4 For j = i To 4 Picture2.Print Tab(j * 5); b(i, j); Next j Picture2.Print Next i End Sub Private Sub Command3_Click() Dim suma%, sumb%, i% For i = 1 To 4 suma = suma + a(i, i) sumb = sumb + b(i, 5 - i) Next i Picture3.Print "A数组主对角线元素和为:"; suma Picture3.Print "B数组副对角线元素和为:"; sumb End Sub 6、输入整数n,显示出具有n行的杨辉三角形。 说明:在窗体上放置1个PictureBox,1个Label,1个TextBox,并在Text1的KeyPress事件中进行编程。 代码: Option Base 1 Private Sub Text1_KeyPress(KeyAscii As Integer) Dim a() As Integer, n% Dim i%, j% If KeyAscii = 13 Then '在Text1中输入行数后按回车键 n = Text1.Text ReDim a(n, n) '生成数组 For i = 1 To n a(i, i) = 1: a(i, 1) = 1 For j = 2 To i a(i, j) = a(i - 1, j - 1) + a(i - 1, j) Next j Next i '打印数组 For i = 1 To n For j = 1 To i Picture1.Print Tab(4 * j); a(i, j); Next j Picture1.Print Next i End If End Sub 7、设计一个选课的程序。 说明:在窗体放置2个ListBox,设置List1的Sorted属性为True。 代码: Private Sub Form_Load() List1.AddItem "Web程序设计" List1.AddItem "C/C++程序设计" List1.AddItem "VB程序设计" List1.AddItem "多媒体技术与应用" List1.AddItem "网络技术与应用" List1.AddItem "数据库技术与应用" List1.AddItem "软件技术基础" List1.AddItem "大学计算机基础" List1.AddItem "硬件技术基础" End Sub Private Sub List1_Click() If List2.ListCount >= 5 Then 'List2中项目数超过5项提示,否则添加 MsgBox "超过5门课程,不能再选" Else List2.AddItem List1.Text List1.RemoveItem List1.ListIndex End If End Sub 8、窗体上建立一个简单组合框,在组合框的文本框输入数字字符,按回车键后加入到组合框的列表框内。单击“交换”按钮,将列表框中最小值项目和第0个项目交换;最大值项目与最后项目交换。 说明: 在窗体放置1个ComboBox,把它的Style属性设置为1,再放置1个CommandButton,设置它的Caption属性为“交换” 代码: Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then '按回车键 Combo1.AddItem Combo1.Text Combo1.Text = "" End If End Sub Private Sub Command1_Click() Dim max%, imax%, min%, imin%, i%, t% max = Val(Combo1.List(0)) imax = 0 min = Val(Combo1.List(0)) imin = 0 For i = 0 To Combo1.ListCount - 1 If Val(Combo1.List(i)) > max Then max = Combo1.List(i) imax = i End If If Val(Combo1.List(i)) < min Then min = Combo1.List(i) imin = i End If Next i t = Combo1.List(0) Combo1.List(0) = Combo1.List(imin) Combo1.List(imin) = t t = Combo1.List(Combo1.ListCount - 1) Combo1.List(Combo1.ListCount - 1) = Combo1.List(imax) Combo1.List(imax) = t End 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 '如果是汉字 List1.AddItem Screen.Fonts(i) '在List1中添加这种字体 Picture1.FontName = Screen.Fonts(i) '对Picture1设置这种字体 '用当前设置的字体显示“中国同济大学” Picture1.Print "中国同济大学" End If Next i End Sub 12
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服