实验E+数组答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验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,属性设置如下:

代码如下:

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,并设置如下属性:

代码:

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%

相关文档
最新文档