完整版VB数组测试题及答案推荐文档.docx
《完整版VB数组测试题及答案推荐文档.docx》由会员分享,可在线阅读,更多相关《完整版VB数组测试题及答案推荐文档.docx(9页珍藏版)》请在冰点文库上搜索。
![完整版VB数组测试题及答案推荐文档.docx](https://file1.bingdoc.com/fileroot1/2023-4/28/aceb8aa9-ef0a-492a-99d7-f6cd69052d96/aceb8aa9-ef0a-492a-99d7-f6cd69052d961.gif)
完整版VB数组测试题及答案推荐文档
数组测试题
(一):
选择题(8小题)
1.下列数组声明语句,是正确的。
(a)Dima[3,4]AsInteger(b)Dima(3,4)AsInteger
(c)Dima(n,n)AsInteger(d)Dima(34)AsInteger
2.以下程序输出的结果是。
Dima:
A=Array(1,2,3,4,5,6,7)
ForI=Lbound(a)ToUbound(a)
A(i)=a(i)*a(i)
NextI
Printa(i)
(a)49(b)0(c)不确定(d)程序出错
3.下面程序段的运行结果是。
(OptionBase1)
PrivateSubForm_Click()
Dima:
b$="":
c$=""
a=Array("effort","run","lucky")
Fori=1ToUBound(a)
b$=b$+Left$(a(i),1):
c$=c$+Right$(a(i),1)
NextI
Printc$+b$
EndSub
(A)effort(B)tnyerl(C)erltny(D)c$+b$
4.以下程序输出的结果是。
(OptionBase1)
PrivateSubCommand1_Click()
Dima%(3,3)
ForI=1to3
Forj=1to3
Ifj>1AndI>1Then
A(I,j)=a(a(I-1,j-1),a(I,j-1))+1
Else
A(I,j)=I*j
EndIf
Printa(I,j);””;
Nextj
Print
NextI
EndSub
(a)123(b)123
231123
323123
(c)123(d)111
246222
369333
5.如下数组声明语句中,数组a包含元素的个数为
Dima(3,-2to2,5)
(a)120(b)75(c)60(d)13
6.下面程序输出的结果是。
(OptionBase1)
PrivateSubCommand1_Click()
Dima,b(3,3)
A=Array(1,2,3,4,5,6,7,8,9)
ForI=1to3
Forj=1to3
B(I,j)=a(I*j)
If(j>=I)Then
PrintTab(j*3);Format(b(I,j),”###”);
Endif
Nextj
Print
NextI
EndSub
(a)123(b)1(c)147(d)123
4564524646
7897893699
147
258
369
7.有如下程序,运行输出结果如下:
请选择正确内容,将处补充完整。
PrivateSubForm_Click()
Dima(1To3,1To3)AsInteger
Forj=1To3
Fork=1To3
a(j,k)=
Printa(j,k);
Nextk
Print
Nextj
EndSub
(A)j+k(B)(j+1)*3+k
(C)j+(k-1)*3(D)j*k
8.下面程序,当从键盘输入1,2,4,4,4,-1时,输出的结果是。
PrivateSubForm_Click()
Dims(1To5)AsInteger
x=Val(InputBox("请输入x的值:
"))
DoWhilex<>-1
s(x)=s(x)+x
x=Val(InputBox("请输入x的值:
"))
Loop
Fori=1To5
Ifs(i)>=3ThenPrinti;s(i)
NextI
EndSub
(A)13(B)34(C)44(D)412
(二):
填空题(5小题)
1.随机产生6位学生的分数(分数范围1~100),存放在数组a中,以每2分显示一个”*”(分数-1后除以2),并输出学生的分数。
结果显示如下图所示。
PrivateSubCommand1_Click()
Dima(1to6)
ForI=1to6
A(i)=①
Print②
NextI
EndSub
2.以下程序用于产生20个(0,99)之间的随机整数,并将其中偶数输出。
PrivateSubCommand1_Click()
Randomize
Forj=1To20
x=Int(Rnd*【③】)
Ifx/2=【④】ThenPrintx
Nextj
EndSub
3.下面的程序用于求3个数中的最大数,补充完整程序。
PrivateSubCommand1_Click()
a=Val(InputBox("请输入第一个数"))
b=Val(InputBox("请输入第二个数"))
c=Val(InputBox("请输入第三个数"))
max=a:
min=a
Ifb>【⑤】Thenmax=b
Ifb<【⑥】Thenmin=b
If【⑦】Thenmax=c
If【⑧】Thenmin=c
Print"最大值为:
";max
Print"最小值为:
";min
EndSub
4.程序代码实现:
单击命令按钮Command1时形成并输出一个主对角线上元素值为-1,其它元素值为0的6×6阶方阵。
PrivateSubCommand1_Click()
Dima(6,6)
Fork=1To6
Forj=1To6
Ifk=jThen
【⑨】
Else
【⑩】
Endif
Print【⑾】
Nextj
Print
Nextk
EndSub
5.下面是用选择排序法对n个数由小到大排序的程序,请在处添上正确答案。
(OptionBase1)
Dima()
PrivateSubForm_Click()
RandomizeTimer
n=InputBox("请输入需要排序的数的个数:
")
⑿
Fori=1Ton
a(i)=200*Rnd
NextI
Fori=1Ton–1
k=I
Forj=(13)
If(14)Thenk=j
Nextj
Ifk<>iThen
t=a(k):
a(k)=a(i):
a(i)=t
EndIf
NextI
Fori=1Ton
Printa(i);
NextI:
EndSub
(三)、编写程序
编写完整的窗体Form1的单击事件代码,要求实现:
随机产生49个[10,99]范围内的整数,并将它们按照从小到大的顺序(以每行7个数据)输出。
数组测试题答案
一)选择题
1
2
3
4
5
6
7
8
9
10
11
12
B
D
B
A
A
D
C
D
二)填空题
1)INT(RND*100+1)
2)STRING(a(i)\2,”*”);”a(“;I;”)”;”=”;a(i)
3)98+1
4)x\2或者int(x\2)
5)max或者a
6)min或者a
7)c>max或者c>b
8)c9)a(k,j)=-1
10)a(k,j)=0
11)printa(k,j)
12)redima(n)
13)j=I+1ton
14)a(k)>a(j)
三)程序题
【说明:
声明数组和输入数组元素,输出数组元素】
Privatesubform_click()
Dimx(1to49)asinteger
ForI=1to49
X(i)=int(rnd*90+10)
Printx(i);
IfImod7=0thenprint
NextI
【说明:
冒泡法排序,输出排序后的结果】
ForI=1to48
T=I
Forj=I+1to49
Ifa(j)>a(t)thent=j
Nextj
Ift<>Ithen
Temp=a(i)
A(i)=a(t)
A(t)=temp
Nexti
ForI=1to48
Forj=I+1to49
Ifx(i)>x(j)then
T=x(i):
x(i)=x(j);x(j)=t
Endif
Nextj
NextI
ForI=1to49
Printx(i);
IfImod7=0thenprint
NextI
Endsub