数组作业答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
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