实验十 一维数组程序设计
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