数组习题文档格式.docx

上传人:b****7 文档编号:21931346 上传时间:2023-02-01 格式:DOCX 页数:19 大小:39.81KB
下载 相关 举报
数组习题文档格式.docx_第1页
第1页 / 共19页
数组习题文档格式.docx_第2页
第2页 / 共19页
数组习题文档格式.docx_第3页
第3页 / 共19页
数组习题文档格式.docx_第4页
第4页 / 共19页
数组习题文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数组习题文档格式.docx

《数组习题文档格式.docx》由会员分享,可在线阅读,更多相关《数组习题文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

数组习题文档格式.docx

6.在窗体上画一个命令按钮(其名称属性为Commandl),然后编写如下代码。

程序运行后,单击命令按钮,其输出结果为()。

Dima(4,4)

Fori=1To4

Forj=1To4

a(i,j)=(i-1)*3+j

Nextj

Nexti

Fori=3To4

Forj=3To4

Printa(j,i);

Print

A.69B.710C.811D.912

7108119121013

7.在窗体上画一个命令按钮(其名称属性为Commandl),然后编写如下代码。

程序运行后,单击命令按钮,输出结果为()。

PrivateSubCommandl_Click()

a=Array(237,126,87,48,498)

ml=a

(1)

m2=1

IfKeyAscii=13Then

Fori=2To5

Ifa(i)>

mlThen

ml=a(i)

m2=i

EndIf

Endif

Printml

Printm2

A.48B.237C.498D.498

4154

8.在窗体上画一个命令按钮,编写过程如下。

运行后单击命令按钮,输出结果为()。

PrivateSubCommandl_Chck()

a=0

b=8

x=Array(8,10,12,6)

Fori=1To4

Ifx(i)>

bThen

a=a+x(i)

b=x(i)

Else

a=a-b

Printa

A.30B.28C.2D.18

9.在窗体上画一个命令按钮,然后输入以下有关数组定义的语句序列,则程序将()。

Dima()AsInteger

DimsizeAsInteger

PnvateSubCommandl_CLck()

size=InputBox(“请输人:

“)

ReDima(size)

……

EndSub

A.出错,数据类型不匹配

B.定义一个数组,该数组的大小与用户输人的数字相同

C.出错,重定义数组不合法

D.定义一个数组,该数组的元素即是用户输人的数字

10.在窗体上画一个命令按钮,编写过程如下。

运行后单击命令按钮,文本框中显示的输出结果为()。

Dima(5),b(5)

Forj=1to4

A(j)=3*j

B(j)=a(j)*3

Textl.Text=b(j\2)

A.25B.18C.36D.35

11.以下关于数组声明中,不合法的是()。

A.DimxB.Dimy()AsInteger

x=Array(1,2,3,4)y=Array(1,3,5,7)

C.Dima()D.Dimb()

…………

ReDima(10)ReDimb(3To9)

12.若有定义:

Dima(3,5),则对数组元素引用正确的是()。

A.a[3,5]B.a(5)C.a(0,0)D.a[2]

13.设有如下程序,单击命令按钮command1后,输出结果是()。

Subsearch(a(),ByValkeyAsVariant,index%)

Dimi%

Fori=LBound(a)ToUBound(a)

Ifkey=a(i)Thenindex=i:

ExitSub

index=-1

PrivateSubCommand1_Click()

Dimb(),nAsInteger

b=Array(1,3,5,7,9,11,13)

Callsearch(b,11,n):

Printn

A.4B.7C.6D.5

14.设有如下程序,程序运行后,输出结果是()。

PrivateSubForm_Load()

DimkAsInteger,iasInteger,jasInteger,a(2,2)AsInteger

Show

k=1

Fori=0To2

Forj=0To2

a(i,j)=k:

k=k+1

Fork=0To2

Printa(k,2-k);

Nextk

A.357B.369C.159D.147

15.设有如下程序,单击命令按钮command1后,输出结果是()。

Subcount1(a(),num()AsInteger)

num(a(i))=num(a(i))+1

Fori=LBound(num)ToUBound(num)

Printnum(i);

Dimb(),cnt(3)AsInteger

b=Array(1,0,2,0,3,1,0,2,1,3,1,3)

Callcount1(b,cnt)

A.2433B.3432C.3433D.3423

16.设有如下程序,程序运行后,单击窗体,窗体上显示的是()。

PrivateSubForm_Click()

Dima,iAsInteger

a=Array(2,3,4,5,6,7,8,9)

Fori=0To3

Printa(5-i);

A.4321B.5432C.6543D.7654

17.设有如下程序,当单击命令按钮command1后,输出结果是()。

DimiAsInteger,jAsInteger,b(5,5)AsInteger

Fori=1To3

Forj=1To3

b(i,j)=(i-1)*3+j:

Printb(i,j);

A.123B.234C.147D.123

246345258456

369456369789

18.以下过程可求出矩阵a主对角线上的元素之和,选择填空完成该过程。

……

Subcommand1_click()

Dimi%,j%,sum%

Fori=

Forj=LBound(a,2)ToUBound(a,2)

Ifi=jThensum=sum+a(i,j)

Print"

矩阵a的主对角线上的元素之和="

&

sum;

A.0to5B.LBound(a,0)ToUBound(a,0)

C.LBound(a,1)ToUBound(a,1)D.UBound(a,1)ToLBound(a,1)

9.可以用()命令释放动态数组所占用的内存。

A.ReDimB.PreseveC.EraseD.Option

10.以下过程的功能是将字符串str1中所有的字符ch删除,选择填空完成该过程。

Subchange(str1AsString,chAsString)

Dimstr2AsString,iAsInteger,len1AsInteger

len1=Len(str1)

Fori=1Tolen1

IfMid(str1,i,1)<

>

chThenstr2=str2+Mid(str1,i,1)

_____________

A.str2=str1B.str1=str2C.change=str2D.change=str1

二、填空题

1.若程序中有如下的数组声明,请写出该数组的数组名、数组类型、维数、各维的上下界、数组的大小,并依次列出数组中的各个元素:

Dima(一1to2,3)AsSingle

2。

要定义一个整型数组,该数组包含12个元素。

按照VB默认的下界值,请判断下列数组声明是否正确,并填写理由:

(1)n=12

Dima(1ton)AsInteger判断:

_理由:

_

(2)Dima%()

n=11

Redima(n)判断:

(3)Dima%[2,3]判断:

(4)Dima(1,1,2)AsInteger判断:

(5)Dima%(10)

Redima(1to12)判断:

(6)Dima!

()

ReDima(3,2)AsInteger判断:

(7)Dima%(2,3)判断:

(8)Dima(1to31to4)AsInteger判断:

3.在窗体上画一个命令按钮,‘然后编写如下事件过程:

Dima(1To10)

Dimp(1To3)

K=5

Fori=1To10

a(i)=i

nexti

p(i)=a(i*i)

Fori=1To3

k=k+p(i)*2

Printk

程序运行后,单击命令按钮,输出结果是______________。

4.下面的程序用“冒泡”法将数组a中的10个整数按升序排列,请将以下程序补充完整。

Dima

a=Array(78,45,34,28,43,87,827,66,98,133)

Fori=__________________

Forj=____________________

Ifa(i)_________a(j)Then

al=a(i)

a(i)=a(j)

a(j)=al

Printa(i)

5.数组a包括10个整型元素,以下过程的功能是求出各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出,填空完成该过程。

OptionBase0

Subsum(a()AsInteger)Dimb(9)AsInteger,iAsInteger

Fori=1To9

____________________

Fori=1To9

Printb(i);

IfiMod3=0Then______________________

6.若声明数组时不明确指定数据类型,其默认是_________________类型。

7.以下过程的功能是将二维数组a的行和列元素互换后存到另一个二维数组b中,填空完成该过程。

Subver(a(),b())

DimiAsInteger,jAsInteger,mAsInteger,nAsInteger

i=LBound(a,1):

j=UBound(a,1)

m=LBound(a,2):

n=UBound(a,2)

ReDimb(mTon,iToj)

Fori=LBound(a,1)Toj

For_________________________

b(m,i)=a(i,m)

Nextm

_______________

8.用语句dimA(5,4)定义的数组,若设置optionbase1,则有___________个元素。

9.以下程序段的功能是:

…………

Dima(),iAsInteger,jAsInteger,t

a=Array(4,2,0,9,7)

Fori=1To4

t=a(i):

j=i-1

DoWhilej>

=0

Ift>

a(j)Then

a(j+1)=a(j):

j=j-1

Else:

ExitDo

Loop

a(j+1)=t

…………

10.用ReDim命令多次为动态数组重新分配内存时,若在ReDim后出现了关键字_____________,则不能改变数组的维数。

11.以下程序段的功能是找出数组a中最大值和最小值的位置,并把它们对调,然后输出调整后的数组a中各个元素的值,填空完成该程序段。

Dima(),iAsInteger,jAsInteger,kAsInteger,max,min

a=Array(12,5,8,0,9)

max=a(0):

min=a(0)

Ifa(i)<

minThen

min=a(i):

______________

Ifa(i)>

maxThen

max=a(i):

k=i

a(j)=max:

_________________

Fori=0To4

Printa(i);

12.若使用函数Array为变体数组各元素赋值,该数组必须是_______________数组。

13.以下函数的功能是检查一个n*n的二维数组是否对称,若对称则函数返回True,否则返回False,填空完成该函数。

Functioncheck(a())AsBoolean

Dimi,j,m,n,flagAsBoolean

flag=True

i=LBound(a,1):

________________

Form=iToj-1

Forn=m+1Toj

Ifa(m,n)<

a(n,m)Then_______________

Nextn

Nextm

check=flag

EndFunction

14.声明有10行5列的整型数组的命令为:

15.一个数如果恰好等于它的除本身之外的所有因子之和,这个数就称为“完数”。

例如:

6的因子为1、2、3,而6=1+2+3,因此6是完数。

程序要求单击命令按钮后,找出1000以内的所有完数,添加到列表框List1中。

程序界面如图所示。

PrivateSubCommand1_Click()

DimnAsInteger,iAsInteger

DimsAsInteger

Forn=2To1000

s=(37)

Fori=1Ton-1

IfnModi=0Then(38)

Next

If(39)Then(40)

EndSub

16.本程序采用矩阵变换法对西文进行加密。

取大于或等于原文长度的最小平方数,构成一个n*n的矩阵,将原文中的字符逐个按行写入该矩阵,多余的矩阵元素则写入空格,再按列读出此矩阵,即为密文。

PrivateSubCommand1_Click()

Dimst1AsString,st2AsString

DimLAsInteger,nAsInteger

DimiAsInteger,jAsInteger

Dima()AsString*1

st1=Text1.Text

L=Len(st1)

If(41)Then

n=(42)

n=Int(Sqr(L))+1

(43)

Fori=1Ton

Forj=1Ton

If(i-1)*n+j>

LThen

a(i,j)="

"

a(i,j)=(44)

Next

st2=st2&

(45)

Text2.Text=st2

EndSub

17.本程序用于验证一个自然数N的立方等于N个连续的奇数之和。

其中最大的奇数P=N(N+1)-1。

例如43=19+17+15+13,最大奇数等于19。

下图是本程序的运行界面。

DimnAsInteger

PrivateSubCmd1_Click()

DimnumAsLong,pAsInteger,xAsString

IfText1.Text<

>

"

AndIsNumeric(Text1.Text)Then

n=(46)

num=n*n*n

Text2.Text=(47)

p=n*(n+1)-1

x=x&

Str(p)&

+"

Fori=1Ton-2

(48)

x=x&

“+”

Nexti

p=p-2

x=(49)

Text3.Text=x

Else

MsgBox"

数据错误!

48,"

VB试题"

EndIf

PrivateSubCmd3_Click()

End

在上面的窗体中,命令按钮“清除”的名称属性是(50)。

三、判断题

1.若事先没有用Dim声明动态数组,不能直接用ReDim来声明动态数组。

()

2.对同一个动态数组,可以多次用ReDim来多次为其分配内存空间。

()

3.不是所有数组的下标值必须是连续整数。

()

4.控件数组必须在窗体设计时产生,不能在程序运行过程中添加。

5.在窗体设计时,只要窗体上出现同一种控件具有相同标题的情况,系统就会提示是否真的要产生控件数组。

()

6.控件数组中各数组元素通过其TabIndex属性来识别。

7.不能用Lbound函数来确定控件数组的下界。

8.若用ReDim将某个动态数组定义为多维数组,则不能再用ReDim将其重新定义为一维数组。

()

9.在使用控件数组时,各数组元素共用相同的事件过程。

10.在使用动态数组时,可能会在程序执行到一半才提示用户内存不足。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1