数组作业答案

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

1、编写程序,产生50个互不相同的10~99的随机整数,统计各数值段(10~19,20~29,….80~89,90~99)有多少个数并输出。

提示:可另用数组b来存各分数段的人数,并用b(1)存10~19分的人数, b(2)存20~29分的人数,… b(9)存90~99分的人数。

关键代码:k = Int(a(i) / 10)

b(k) = b(k) + 1

Private Sub Form_Click()

Dim a(1 To 50) As Integer, i As Integer

Dim b(1 To 9) As Integer, k As Integer

For i = 1 To 50

a(i) = Int(Rnd * 90 + 10)

Print a(i);

If i Mod 10 = 0 Then Print

k = Int(a(i) / 10)

b(k) = b(k) + 1

Next i

Print

For i = 1 To 9

Print (i * 10) & "~" & (i * 10 + 9) & "的学生人数:" & b(i) Next i

End Sub

2、设有如下两组数据。编写一个程序,把两组数据分别读入两个数

组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,…,25+80,并把相应的结果放入第三个数组中,最后输出第三个数组的值。

A 2 8 7 6 4 28 70 25

B 79 27 32 41 57 66 78 80

关键代码:c(i) = a(i) + b(i)

Private Sub Form_Click()

Dim a, b, c(7)

a = Array(2, 8, 7, 6, 4, 28, 70, 25)

b = Array(79, 27, 32, 41, 57, 66, 78, 80)

For i = 0 To 7

c(i) = a(i) + b(i)

Next i

For i = 0 To 7

Print c(i);

Next i

End Sub

3、产生10个互不相同的10~99的随机整数,将这10个值交换并输出,交换规则如下:

第1个与第10个交换

第2个与第9 个交换

第3个与第8 个交换

第4个与第7 个交换

第5个与第6 个交换

Private Sub Form_click()

Dim a(1 To 10) As Integer

Print "原始数组如下:"

For i = 1 To 10

a(i) = Int(Rnd * 90 + 10)

Print a(i);

Next i

Print '换行

For i = 1 To 5 '注意:只能交换5次

temp = a(i): a(i) = a(11 - i): a(11 - i) = temp

Next i

Print "交换之后的数组如下:"

For i = 1 To 10

Print a(i);

Next i

End Sub

4、在文本框中输入一串字符,统计各字母出现的次数并将结果显示在图片框中(不区分字母的大小写)。

提示:英文字母共26个,可以分为26类。用数组的26个元素分别保存每种字母出现的次数。从输入的字符串中逐一取出字符,转换

成大写字符来判断。再求得其在数组中的下标。

关键代码:j = Asc(c) - 65 + 1

A(j)=A(j)+1

Private Sub Command1_Click()

Dim a(1 To 26) As Integer, c As String * 1

lenS = Len(Text1) '求字符

串的长度

For I = 1 To lenS

c = UCase(Mid(Text1, I, 1)) '取一个

字符,转换成大写

If c >= "A" And c <= "Z" Then

j = Asc(c) - 65 + 1 '将A~Z大写字母转换成1~26的下标

a(j) = a(j) + 1 '对应数

组元素加1

End If

Next I

n = 1

For j = 1 To 26 '输出字母及其出现的次数

If a(j) > 0 Then

If n > 6 Then n = 1: Picture1.Print

Picture1.Print " "; Chr(j + 64); "=";

a(j);

n = n + 1

End If

Next j

End Sub

5、采用控件数组编写一个简单的计算器。要求该计算器能够实现简单的加、减、乘、除运算。

Private Sub Command1_Click(Index As Integer)

Select Case Index

Case 0

Text3 = Val(Text1) + Val(Text2)

Case 1

Text3 = Val(Text1) - Val(Text2)

Case 2

Text3 = Val(Text1) * Val(Text2)

Case 3

Text3 = Val(Text1) / Val(Text2)

End Select

End Sub

6、下图所示程序利用7个LABEL1控件创建了一个控件数组,程序运行时单击窗体,在窗体上显示由7段组成的一个阿拉伯数字“5”。请自行创建程序界面,并修改下列代码,使之能显示7段组成的数字“3”。

Private Sub Form_Click()

Dim a As Variant

Me.BackColor = vbWhite

a = Array(1, 1, 1, 1, 1, 0, 0)

For i = 0 To 6

相关文档
最新文档