数组测试题(一):选择题(8小题)1.下列数组声明语句,是正确的。(a)Dima[3,4]AsInteger(b)Dima(3,4)AsInteger(c)Dima(n,n)AsInteger(d)Dima(34)AsInteger2.以下程序输出的结果是。Dima:A=Array(1,2,3,4,5,6,7)ForI=Lbound(a)ToUbound(a)A(i)=a(i)*a(i)NextIPrinta(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)NextIPrintc$+b$EndSub(A)effort(B)tnyerl(C)erltny(D)c$+b$4.以下程序输出的结果是。(OptionBase1)PrivateSubCommand1_Click()Dima%(3,3)ForI=1to3Forj=1to3Ifj1AndI1ThenA(I,j)=a(a(I-1,j-1),a(I,j-1))+1ElseA(I,j)=I*jEndIfPrinta(I,j);””;NextjPrintNextIEndSub(a)123(b)123231123323123(c)123(d)1112462223693335.如下数组声明语句中,数组a包含元素的个数为Dima(3,-2to2,5)(a)120(b)75(c)60(d)136.下面程序输出的结果是。(OptionBase1)PrivateSubCommand1_Click()Dima,b(3,3)A=Array(1,2,3,4,5,6,7,8,9)ForI=1to3Forj=1to3B(I,j)=a(I*j)If(j=I)ThenPrintTab(j*3);Format(b(I,j),”###”);EndifNextjPrintNextIEndSub(a)123(b)1(c)147(d)123456452464678978936997.有如下程序,运行输出结果如下:请选择正确内容,将处补充完整。PrivateSubForm_Click()Dima(1To3,1To3)AsIntegerForj=1To3Fork=1To3a(j,k)=Printa(j,k);NextkPrintNextjEndSub(A)j+k(B)(j+1)*3+k(C)j+(k-1)*3(D)j*k8.下面程序,当从键盘输入1,2,4,4,4,-1时,输出的结果是。PrivateSubForm_Click()Dims(1To5)AsInteger147258369x=Val(InputBox(请输入x的值:))DoWhilex-1s(x)=s(x)+xx=Val(InputBox(请输入x的值:))LoopFori=1To5Ifs(i)=3ThenPrinti;s(i)NextIEndSub(A)13(B)34(C)44(D)412(二):填空题(5小题)1.随机产生6位学生的分数(分数范围1~100),存放在数组a中,以每2分显示一个”*”(分数-1后除以2),并输出学生的分数。结果显示如下图所示。PrivateSubCommand1_Click()Dima(1to6)ForI=1to6A(i)=①Print②NextIEndSub2.以下程序用于产生20个(0,99)之间的随机整数,并将其中偶数输出。PrivateSubCommand1_Click()RandomizeForj=1To20x=Int(Rnd*【③】)Ifx/2=【④】ThenPrintxNextjEndSub3.下面的程序用于求3个数中的最大数,补充完整程序。PrivateSubCommand1_Click()a=Val(InputBox(请输入第一个数))b=Val(InputBox(请输入第二个数))c=Val(InputBox(请输入第三个数))max=a:min=aIfb【⑤】Thenmax=bIfb【⑥】Thenmin=bIf【⑦】Thenmax=cIf【⑧】Thenmin=cPrint最大值为:;maxPrint最小值为:;minEndSub4.程序代码实现:单击命令按钮Command1时形成并输出一个主对角线上元素值为-1,其它元素值为0的6×6阶方阵。PrivateSubCommand1_Click()Dima(6,6)Fork=1To6Forj=1To6Ifk=jThen【⑨】Else【⑩】EndifPrint【⑾】NextjPrintNextkEndSub5.下面是用选择排序法对n个数由小到大排序的程序,请在处添上正确答案。(OptionBase1)Dima()PrivateSubForm_Click()RandomizeTimern=InputBox(请输入需要排序的数的个数:)⑿Fori=1Tona(i)=200*RndNextIFori=1Ton–1k=IForj=(13)If(14)Thenk=jNextjIfkiThent=a(k):a(k)=a(i):a(i)=tEndIfNextIFori=1TonPrinta(i);NextI:EndSub(三)、编写程序编写完整的窗体Form1的单击事件代码,要求实现:随机产生49个[10,99]范围内的整数,并将它们按照从小到大的顺序(以每行7个数据)输出。数组测试题答案一)选择题123456789101112BDBAADCD二)填空题1)INT(RND*100+1)2)STRING(a(i)\2,”*”);”a(“;I;”)”;”=”;a(i)3)98+14)x\2或者int(x\2)5)max或者a6)min或者a7)cmax或者cb8)cmin或者cb9)a(k,j)=-110)a(k,j)=011)printa(k,j)12)redima(n)13)j=I+1ton14)a(k)a(j)三)程序题【说明:声明数组和输入数组元素,输出数组元素】Privatesubform_click()Dimx(1to49)asintegerForI=1to49X(i)=int(rnd*90+10)Printx(i);IfImod7=0thenprintNextI【说明:冒泡法排序,输出排序后的结果】ForI=1to48Forj=I+1to49Ifx(i)x(j)thenT=x(i):x(i)=x(j);x(j)=tEndifNextjNextIForI=1to49Printx(i);IfImod7=0thenprintNextIEndsubForI=1to48T=IForj=I+1to49Ifa(j)a(t)thent=jNextjIftIthenTemp=a(i)A(i)=a(t)A(t)=tempNexti