实验十、十一 数组程序设计最终版
更新时间:2024-06-01 04:45:01 阅读量: 综合文库 文档下载
- 北京实验十一中学推荐度:
- 相关推荐
实验十 一维数组程序设计
1
实验十 一维数组程序设计
【实验目的】
(1)掌握一维数组的定义及初始化 (2)掌握一维数组的赋值及引用
(3)掌握一维数组的输入及输出方法及有关的算法 (4)掌握动态数组的定义和使用
(5)掌握利用赋值函数Array()为数组赋值 (6)了解掌握自定义类型的使用
【实验内容】 1、尝试编写下列程序
【10-1】求一个班10个学生的平均成绩,然后统计高于平均分的人数。程序运行界面如图10-1所示:
图 10-1 运行结果界面
源代码:
Private Sub Command1_Click() Dim score(1 To 10) As Integer Dim average!, count%, i% average = 0
For i = 1 To 10
score(i) = InputBox(\请输入第\位学生的成绩:\ average = average + score(i) Next i
average = average / 10 count = 0 For i = 1 To 10
实验十 一维数组程序设计
If score(i) > average Then count = count + 1 Next i
Print \平均分=\高于平均分的人数\End Sub
2
?举一反三
【10-1】利用InputBox函数输入十个数,求其中偶数的平均值,并求小于平均值的偶数个数。
【10-2】打印斐波那契数列的前20项(斐波那契数列是这样的一个数列:1、1、2、3、5、8、13,……,这个数列从第三项开始,每一项都等于前两项之和)。程序运行界面如图10-2所示:
图 10-2 运行结果界面
源代码: Option Base 1
Private Sub Command1_Click() Dim f(20) As Integer
Dim i As Integer
Text1.text= \ f(1) = 1 f(2) =1 For i = 3 To 20 f(i) = f(i - 1) + f(i - 2) Next i For i = 1 To 20
Text1.Text = Text1.Text + Str(f(i)) If i Mod 5 = 0 Then
实验十 一维数组程序设计
Text1.Text = Text1.Text + vbCrLf ?vbCrLf相当于chr(13)+chr(10) End If Next i End Sub
3
?举一反三
【10-2】打印斐波那契数列前20项中的奇数,每5个数占一行。已知前两项的值都为1。 【10-3】利用InputBox函数输入10个整数,求出这10个整数中的最大值以及它的下标。程序运行界面如图10-3所示:
图 10-3 运行结果界面
源代码:
Private Sub Command1_Click() Dim a(1 To 10) As Integer Dim i%, max%, imax%
For i = 1 To 10
a(i) = InputBox(\请输入第\个数\Next i max = a(1) imax = 1
For i = 2 To 10 If a(i) > max Then max = a(i) imax = i
End If Next i
Print \最大的数是\,下标为\End Sub
?举一反三
【10-3】随机产生10个1~10之间的整数,求出这10个整数中的最小值以及它出现的次
实验十 一维数组程序设计
数。
4
【10-4】利用inputbox函数输入10个数,对这10个数用冒泡法进行降序排序。程序运行界面如图10-4所示:
图 10-4 运行结果界面
源代码:
Private Sub Command1_Click()
Dim a(9) As Integer
Dim i As Integer, j As Integer, t As Integer Print “排序前:”
For i = 0 To 9 a(i) = Val(inputbox(“输入”)) print a(i); Next i print
For i = 0 To 8
For j = 0 To 8 - i If a(j) < a(j + 1) Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t End If Next j Next i
Print “排序后:” For i = 0 To 9 Print a(i); Next i End Sub
?举一反三
实验十 一维数组程序设计
【10-4】随机产生10个100以内的正数,对这10个数用冒泡法进行升序排序。
5
【10-5】利用inputBox函数输入10个数,对这10个数用选择法进行升序排序。程序运行界面如图10-5所示:
图 10-5 运行结果界面
源代码:
Private Sub Command1_Click()
Dim a(9) As Integer
Dim i As Integer, j As Integer, t As Integer, p As Integer Print \排序前:\
For i = 0 To 9 a(i) = Val(InputBox(\输入\Print a(i); Next i Print
For i = 0 To 8 p = i
For j = i + 1 To 9 If a(p) > a(j) Then p = j End If
Next j
t = a(i): a(i) = a(p): a(p) = t Next i
Print \排序后:\For i = 0 To 9 Print a(i); Next i End Sub
实验十 一维数组程序设计
6
?举一反三
【10-5】随机产生10个100以内的正数,对这10个数用选择法进行降序排序。
2、程序填空
(1)随机产生10个两位数的随机数,赋给数组a,然后求各元素之和、平均值,将比平均值大的各元素的值打印出来,最后找出数组中的最大值及其元素下标并打印。运行结果界面如图10-6所示。
10-6运行结果界面
源代码:
Private Sub Command1_Click()
Dim sum, average, max, p, a(10) As Integer Randomize
For i = 0 To 9
a(i) = 【1】 Print a(i); Next i Print sum = 0
For i = 0 To 9
【2】
Next i
average = sum / 10
Print \各元素累加和=\平均值=\Print \比平均值大的各元素的值依次为:\For i = 0 To 9
If a(i) > average Then Print a(i); Next i Print
【3】 p = 0
For i = 0 To 9
实验十 一维数组程序设计
If a(i) > max Then
【4】 p = i End If
Next i
Print \最大值为:\其元素下标为:\
7
End Sub
(2)利用InputBox函数输入十个数,然后输入要查找的数,如果找到了,输出该数的位置,如果没有找到给出提示。运行结果界面如图10-7所示。
10-7 运行结果界面
源代码:
Private Sub Form_Click() Dim x, a(1 To 10) As Single
Dim i As Integer For i = 1 To 10
a(i) = InputBox(\请输入第\个数\ print a(i);
Next i
x = InputBox(\请输入要查找的数\Print \要查找的数是\
For i = 1 To 10
If 【1】 Then
MsgBox \要查找的数是第\个数\ 【2】 End If Next i
If 【3】 Then MsgBox \没有找到\End If End Sub
实验十 一维数组程序设计
所示:
8
(3)随机输入包含10个元素的一维数组,首尾互换,然后输出。程序运行界面如图10-8
图 10-8 运行结果界面
源代码:
Option Base 1
Dim a(10) As Integer
Private Sub Command1_Click() Dim i As Integer
For i = 1 To 10
a(i) = InputBox(\请依次输入数组元素:\Next i
For i = 1 To 10
Text1.Text = Text1.Text + Str(a(i)) + \Next i End Sub
Private Sub Command2_Click() Dim i, t As Integer,n% n=Ubound(a) For i = 1 To n\\2 t = a(i) a(i) = ________ _________ = t Next i For i = 1 To 10
Text2.Text = Text2.Text + Str(a(i)) + \
Next i End Sub
(4)用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中各元素的最
小值。填空:
实验十 一维数组程序设计
源代码:
Option Base 1
Private Sub Command1_Click() Dim arr1
Dim Min As Integer, i As Integer
arr1 = Array(12, 435, 76, -24, 78, 54, 866, 43) Min =【1】
For i = 2 To 8
If arr1(i) < Min Then 【2】 Next i
Print \最小值是:\
End Sub
(5)随机产生n个[5,17]之间的数,输出它们的平均值运行结果如图10-9所示。
9
10-9 运行结果界面
原代码:
Option Base 1
Private Sub Command1_Click() Dim f() As Integer, ave As Single Dim i As Integer, n As Integer ave = 0 n = Val(InputBox(\ 【1】f(n) For i = 1 To n
f(i) = Int(Rnd * 13 + 5) Print f(i); ave = ave + f(i) Next i
Print \平均值=\/n
End Sub
(6)写出下面程序的运行结果________
实验十 一维数组程序设计
源代码:
Private Sub Command1_Click() Dim a(5) As String For i = 1 To 5
a(i) = Chr(Asc(\ Next i For Each b In a Print b; Next
10
End Sub
(7)窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。程序运行时,在键盘上输入4,结果为_______ 源代码: Private Type x a As Integer b As Integer End Type
Private Sub Command1_Click() Dim y As x
y.a = InputBox(\ If y.a \\ 2 = y.a / 2 Then
y.b = y.a * y.a Else
y.b = Fix(y.a / 2) '去掉小数部分取整 End If
Text1.Text = y.b End Sub
实验十 一维数组程序设计
11
实验十一 二维数组程序设计
【实验目的】
(1)掌握动态数组的定义和使用方法
(2)掌握二维数组的定义、赋值和输入输出方法 (3)掌握有关二维数组的一些常用算法 (4)掌握控件数组建立的方法及应用
【实验内容】 1、尝试编写下列程序
【11-1】找出m×n矩阵中最大的那个元素所在的行和列,输出其值及行号和列号。程序运行结果界面如图11-1所示:
11-1 运行结果界面
源代码:
Private Sub Form_Click() Dim a() As Integer
Dim m, n, col, max, row As Integer Dim i, j As Integer m = Val(InputBox(\请输入矩阵的行数\n = Val(InputBox(\请输入矩阵的列数\ReDim a(m, n) For i = 1 To m
For j = 1 To n a(i, j) = Val(InputBox(\请输入数组第\行第\列元素值\ Next j
Next i
Print \所建立的矩阵为:\For i = 1 To m For j = 1 To n Print a(i, j); Next j Print Next i
max = a(1, 1) col=1 row=1
实验十 一维数组程序设计
For i = 1 To m
For j = 1 To n
If a(i, j) > max Then max = a(i, j) col = j row = i End If Next j Next i
Print \矩阵最大的元素的值为:\Print \他所在的行号为:\列号为:\End Sub
12
?举一反三
【11-1】随机生成一个3×4矩阵,元素值为[80,100]之间的数,求所有元素的平均值并输出。 【11-2】随机生成一个5行4列的矩阵,元素值为[1,10]之间的数,求每一行的和值并输出。运行结果如图11-2所示。
11-2运行结果界面
源代码:
Private Sub Command1_Click()
Dim a(1 To 5, 1 To 4) As Integer, i As Integer, j As Integer Dim sum As Integer For i = 1 To 5 For j = 1 To 4
a(i, j) = Int(Rnd * 10 + 1) Print a(i, j); Next j Print Next i Print For i = 1 To 5
实验十 一维数组程序设计
sum = 0
For j = 1 To 4
sum = sum + a(i, j) Next j
Print \第\行的和值是:\Next i End Sub
13
?举一反三
【11-2】随机生成一个5行4列的矩阵,元素值为[1,10]之间的数,输出每一列的和值。 【11-3】随机生成一个4行5列的矩阵,元素值为[10,99]之间的数,交换矩阵第1列和第5列的数据后,输出该矩阵。
11-3 运行结果界面
源代码:
Private Sub Command1_Click()
Dim a(1 To 4, 1 To 5) As Integer, i As Integer, j As Integer Dim t As Integer
Print \输出初始数组:\ For i = 1 To 4 For j = 1 To 5
a(i, j) = Int(Rnd * 90 + 10) Print a(i, j); Next j Print Next i
For i = 1 To 4 t = a(i, 1) a(i, 1) = a(i, 5) a(i, 5) = t
Next i
Print \输出交换后的数组:\ For i = 1 To 4
实验十 一维数组程序设计
For j = 1 To 5 Print a(i, j); Next j Print Next i End Sub
14
?举一反三
【11-3】随机生成两个4行5列的矩阵,元素值为[10,99]之间的数,交换矩阵第1行和第4行的数据。
【11-4】求3×3矩阵中主对角线元素之和。元素值为行、列下标之和,行、列下标都从1开始。程序运行结果界面如图11-4所示:
11-4 运行结果界面
源代码:
Private Sub Command1_Click() Dim a(1 to 3, 1 to 3) As Integer s = 0
For i = 1 To 3 For j = 1 To 3 a(i, j) = i + j Next j Next i
For i = 1 To 3 For j = 1 To 3 Print a(i, j); Print Space(5); Next j Print Next i
For i = 1 To 3
s = s + a(i, i) Next i
Print \矩阵主对角线元素之和=\End Sub
?举一反三
【11-4】求3×3矩阵中辅对角线元素之和。元素值为行、列下标之和,行、列下标都从1
实验十 一维数组程序设计
开始。。
15
【11-5】生成一个随机的5×5矩阵,元素值为[0,10)之间的数,将该矩阵位于主对角线下方的所有元素都赋值为1。程序运行结果界面如图11-5所示:
11-5 运行结果界面
源代码:
Private Sub form_Click() Dim a(1 To 5, 1 To 5) As Integer Print \输出初始数组:\ For i = 1 To 5 For j = 1 To 5
a(i, j) = Int(Rnd() * 10) Print a(i, j); Next j Print Next i For i = 1 To 5 For j = 1 To i
a(i, j) = 1 Next j Next i
Print \输出变化后的数组:\ For i = 1 To 5 For j = 1 To 5 Print a(i, j); Next j Print Next i End Sub
?举一反三
【11-5】生成一个随机的5×5矩阵,元素值为[0,10)之间的数,将该矩阵的位于辅对角线上方的所有元素赋值为0。
【11-6】利用文本框控件数组生成如图所示图形。程序运行结果界面如图11-6所示:
实验十 一维数组程序设计
16
11-6 运行结果界面
源代码:
Private Sub Form_Click() Dim i As Integer For i = 1 To 5 Load Text1(i) Text1(i).Visible = True
Text1(i).Left = Text1(0).Left + Text1(0).Width * i Text1(i).Top = Text1(0).Top + Text1(0).Height * i Next i End Sub
【11-7】按图设计窗体,其中一组(共六个)单选框构成控件数组,要求当单击某个单选框时,能改变文本框中文字的大小。程序运行结果界面如图11-7所示:
11-7 运行结果界面
源代码:
Private Sub Form_Load() Option1(0).Value = True Text1.FontSize = 10 End Sub
Private Sub Option1_Click(Index As Integer) Select Case Index Case 0
Text1.FontSize = 10 Case 1
Text1.FontSize = 12 Case 2
实验十 一维数组程序设计
Text1.FontSize = 14 Case 3
Text1.FontSize = 16 Case 4
Text1.FontSize = 20 Case 5
Text1.FontSize = 30 End Select End Sub
17
2、程序填空
(1)编写程序,输出杨辉三角形的前n行。运行结果界面如图11-8所示。
11-8 运行结果界面
源代码:
Option Base 1
Private Sub Form_Click() Dim a(20, 20) As Integer Dim i%, j%, k%, n% n = Val(Text1.Text) For i = 1 To n a(i, 1) = 1
【1】 Next i
For i = 3 To n
For j = 2 To i - 1
【2】 Next j Next i
For i = 1 To n
For j = 1 To i
【3】 Next j Print Next i End Sub
(2)随机生成一个3行3列的矩阵,生成的值在[0,50)之间,将生成的矩阵转置。程序运行结果界面如图11-9所示:
实验十 一维数组程序设计
18
11-9 运行结果界面
源代码:
Private Sub Command1_Click() Randomize
Dim a(1 To 3, 1 To 3) As Integer,b(1 To 3, 1 To 3) As Integer Dim i, j, t As Integer Print \转置前矩阵:\For i = 1 To 3 For j = 1 To 3
a(i, j) = Int(Rnd() * 50) + 10 Print a(i, j); Next j Print Next i For i = 1 To 3
For j = 1 To 3
_____【1】______ Next j Next i
Print \转置后矩阵:\For i = 1 To 3 For j = 1 To 3 Print b(i, j); Next j Print
Next i End Sub
(3)求4×5矩阵中周边元素之和,元素值是行、列之和,行、列下标都从1开始。运行结果如图11-10所示。
11-10 运行结果界面
源代码:
Option Base 1
实验十 一维数组程序设计
Private Sub Form_Click() Dim a(4, 5) As Integer s = 0
Print \输出数组:\For i = 1 To 4 For j = 1 To 5 a(i, j) = i + j Print a(i, j); Next j Print Next i
For i = 1 To 4
For j = 1 To 5
________【1】____________ Then s = s + a(i, j) End If
Next j Next i
Print \矩阵外侧元素之和=\
19
End Sub
(4)编写一程序,建立并输出一个5×5的矩阵,该矩阵两条对角线上元素均为1,其余均为2,并打印该矩阵。程序运行结果界面如图11-11所示:
11-11 运行结果界面
源代码:
Private Sub Form_Click() Dim a(5, 5) As Integer Dim i, j As Integer
For i = 1 To 5 For j = 1 To 5
If________【1】_________Then a(i, j) = 1 Else a(i, j) = 2 End If Print a(i, j); Next j Print
实验十 一维数组程序设计
Next i End Sub
20
正在阅读:
实验十、十一 数组程序设计最终版06-01
小学数学二年级上册期末考试(精选5套试卷及标准答案)11-16
价格监督检查程序10-31
水溶性脱模剂项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案01-26
群众路线教育实践活动学习笔记12-11
美术教学案例与分析06-10
吉林省卫生厅关于做好2010年度乡镇卫生院招聘执业医师工作的通知03-14
邮政企业内部会计控制问题及对策分析05-28
级建造师案例分析题超经典04-19
医务人员手卫生规范标准03-15
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 数组
- 程序设计
- 最终
- 实验
- 十一
- 综掘巷道工程承包协议
- 高脂血症对HER2过表达型乳腺癌预后的影响.总结
- 中国传统器乐小知识
- 专注力训练教案(原创)
- 2019-毛概社会实践手册-范文模板(5页)
- 五年级下册山东人民出版社品德与社会第一单元测试题
- 科学探究浮力的大小说课
- 吃糖也能养颜!15种美颜小食 吃出好肤色
- 大连艺术学院
- 《环境问题案例讲析》课程论文——广东省北江韶关段镉污染事件的
- 小学语文第三册第五单元测试卷
- 畜牧有限公司年出栏2万头生猪零排放猪场建设项目可行性研究报告
- 建筑起重机械维护保养等管理制度 - 图文
- 火灾自动报警系统设计32(打印1份)
- 新生儿沐浴操作流程表
- 环境工程习题
- iso11607-1 最终灭菌医疗器械的包装_第1部分
- 2013教师资格考试-小学教育教学知识与能力全真试题与答案三
- 电力系统继电保护课后习题解析答案(全) -
- 电路分析习题5-7