VB考试复习题.docx

上传人:b****8 文档编号:9485636 上传时间:2023-02-04 格式:DOCX 页数:34 大小:22.23KB
下载 相关 举报
VB考试复习题.docx_第1页
第1页 / 共34页
VB考试复习题.docx_第2页
第2页 / 共34页
VB考试复习题.docx_第3页
第3页 / 共34页
VB考试复习题.docx_第4页
第4页 / 共34页
VB考试复习题.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

VB考试复习题.docx

《VB考试复习题.docx》由会员分享,可在线阅读,更多相关《VB考试复习题.docx(34页珍藏版)》请在冰豆网上搜索。

VB考试复习题.docx

VB考试复习题

1、已知x,y,z3个变量中存放了3个不同的数,比较它们的大小并进行调整,使得x

PrivateSubCommand1_Click()

Dimx!

y!

z!

x=InputBox("inputx")

y=InputBox("inputy")

z=InputBox("inputz")

PrintTab(8);"";"x";"y";"z"

Print"排序前:

";x;"";y;"";z

Ifx

x=y:

y=t:

Ifx

x=z:

z=t:

Ify

y=z:

z=t:

Print"排序后:

";"";z;"";y;"";x

EndSub

 

2.0到200被5或11整除的数的和

PrivateSubCommand1_Click()

Dimi%

Fori=0To200

IfiMod11=0OriMod5=0Then

Sum=Sum+i

EndIf

Nexti

Print"总和是";Sum

EndSub

3、从键盘输入三角形的三条边a,b,c的值,根据其数值,判断能形。

PrivateSubCommand1_Click()

Dima%,b%,c%

a=Val(InputBox("inputa"))

b=Val(InputBox("inputb"))

c=Val(InputBox("inputc"))

Ifa+b>cAndb+c>aAnda+c>bThen

MsgBox("能构成三角形")

Else

MsgBox("不能构成三角形")

EndIf

EndSub

4、随机产生10个[30,100]内的整数,求最小值及所对应的下标。

PrivateSubForm_click()

Dima(1To10)AsInteger,zb%,mina%,i%

Fori=1To10

a(i)=Int(Rnd*71+30)

Printa(i);

Nexti

zb=1

mina=a

(1)

Fori=2To10

Ifmina>a(i)Thenmina=a(i):

zb=i

Nexti

Print

Print"min=";mina,"下标=";zb

EndSub

5、随机产生10个[30,100]内的整数,求最大值、最小值和平均值。

Dima(1To10)AsInteger,amin,amax,i%,avera!

PrivateSubForm_Click()

Fori=1To10

a(i)=Int(Rnd*71+30)

Nexti

amin=a

(1)

amax=a

(1)

avera=a

(1)

Fori=2To10

Ifa(i)>amaxThenamax=a(i)

Ifa(i)

avera=avera+a(i)

Nexti

Fori=1To10

Printa(i);

Nexti

Print

Print"max=";amax,"min=";amin,"avera=";avera/10

EndSub

 

6、随机产生10个[30,100]内的整数,求最大值及所对应的下标

PrivateSubForm_Click()

Dima(9),max%,imax%

Fori=0To9

a(i)=Int(Rnd*71+30)

Printa(i);

Nexti

Print

max=a(0)

Fori=1To9

Ifmax

imax=i

Nexti

Print"max=";max

Print"下标=";imax

EndSub

7、某次歌曲大奖赛,有7个评委。

如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。

PrivateSubCommand1_Click()

Dimmark!

max!

min!

aver!

i%

aver=0

Fori=1To7

mark=InputBox("输入第"&i&"位评委的打分")

Ifi=1Then

max=mark:

min=mark

Else

Ifmark

Ifmark>maxThenmax=mark

EndIf

aver=aver+mark

Nexti

aver=(aver-min-max)/5

Printaver

EndSub

8,9、求s=a+aa+aaa+...aaaaa(n个a),其中a和n的值随机产生,a的范围是[1,9]的整数,n的范围是[5,10]。

如a=3,n=6,则s=3+33+333+3333+33333+333333。

编程确定n和a的值,并计算s。

PrivateSubForm_click()

Dims!

t!

i!

a%,n%

a=Int(Rnd*9+1)

n=Int(Rnd*6+5)

t=0:

s=0

PrintTab(9);"a=";a,"n=";n

Print

Fori=1Ton

t=t*10+a

s=s+t

PrintTab(9);t

Nexti

Print

PrintTab(9);"s=";Val(s)

EndSub

 

10.产生1-100以内的素数

PrivateSubCommand1_Click()

Dimi%,j%,tagAsBoolean

Forj=1To100

tag=True

Fori=2Toj-1

IfjModi=0Thentag=False

Nexti

IftagThenPrintj;

Nextj

EndSub

11、计算100~300之间所有能被3和7整除的数之和。

PrivateSubCommand1_Click()

Dims%,i%

s=0

Fori=100To300

IfiMod3=0OriMod7=0Then

s=s+i

EndIf

Nexti

Print"s="&s

EndSub

12.输入一年份,判断他是否为闰年,并现实是否是闰年的有关信息。

PrivateSubCommand1_Click()

Dimy%

y=Val(Text1)

IfyMod4=0AndyMod100<>0OryMod400=0Then

MsgBox(y&"年是闰年")

Else

MsgBox(y&"年是平年")

EndIf

EndSub

13、编程求200--400范围内5的倍数或7的倍数之和。

(一个数如果同时是7和5的倍数,则只能加一次。

PrivateSubCommand1_Click()

Dims1%,s2%,s3%,i%

s1=0

s2=0

Fori=200To400

IfiMod5=0OriMod7=0Then

s1=s1+i

EndIf

Nexti

Fori=200To400

IfiMod5=0AndiMod7=0Then

s2=s2+i

EndIf

Nexti

s3=s1-s2

Prints3

EndSub

14.利用inputbox函数输入两个整数,求它们的最大公约数

PrivateSubCommand1_Click()

n1=InputBox("输入n")

m1=InputBox("输入m")

Ifm1>n1Then

m=m1:

n=n1

Else

m=n1:

n=m1

EndIf

r=mModn

DoWhiler<>0

m=n

n=r

r=mModn

Loop

Print"mn的最大公约数是:

";n

EndSub

 

15、随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。

例如,产生246,输出是642。

PrivateSubCommand1_Click()

Text1=Int(Rnd*900+100)

EndSub

PrivateSubCommand2_Click()

Dimx%,x1%,x2%,x3%

x=Val(Text1)

x1=xMod10

x2=(xMod100)\10

x3=x\100

Text2=x1*100+x2*10+x3

EndSub

方法二:

Dima%,m%,b%,c%,d%

PrivateSubForm_Click()

a=Int(Rnd*900+100)

Printa

d=(aMod10)*100

b=(aMod100)-(aMod10)

c=a\100

m=c+b+d

Printm

EndSub

16、从键盘输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换成“GFEDCBA”。

PrivateSubForm_Click()

Dimi,a,b,nAsString

n=InputBox("输入字符")

i=Len(n)

Fora=1Toi/2

b=Mid(n,a,1)

Mid(n,a,1)=Mid(n,i+1-a,1)

Mid(n,i+1-a,1)=b

Nexta

Printn

EndSub

17、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和

PrivateSubForm_Click()

Dima(3,3),sum%

Fori=0To3

Forj=0To3

a(i,j)=Int(Rnd*31+20)

Nextj

Nexti

Fori=0To3

Forj=0To3

Printa(i,j);

Nextj

Print

Nexti

Fori=0To3

Forj=0To3

sum=sum+a(i,j)

Nextj

Nexti

Print"sum=";sum

EndSub

18.编一子过程Procmin(a(),amin),求一维数组中a的最小值amin.

(随机产生10个200-400之间的数,并显示数组各元素;调用子函数,显示最小值)

PrivateSubForm_Click()

Dima(1To10),amin,i%

Fori=1To10

a(i)=Int(Rnd*200+200)

Printa(i);

Nexti

Calls(a(),amin)

Print

Print"min=";amin

EndSub

Subs(b(),min)

Dimi%

min=b(LBound(b))

Fori=LBound(b)+1ToUBound(b)

Ifb(i)

Nexti

EndSub

19,20.编一个选择排序法子过程,对已知的若干整数按递增次序排列。

提示:

子过程的形式为subsort1(a%())。

PrivateSubCommand1_Click()

Dimb%(10),i%

Print"排序前"

Fori=1To10

b(i)=Int(Rnd*100)

Printb(i);

Nexti

Print

Print"排序后"

Callsort(b())

EndSub

Subsort(a%())

Dimi%,m%,n%,min%,t%

n=UBound(a)

Fori=0Ton-1

min=i

Forj=i+1Ton

Ifa(j)

Nextj

m=a(i):

a(i)=a(min):

a(min)=m

Nexti

Fori=LBound(a)ToUBound(a)

Printa(i);

Nexti

EndSub

递减次序排列

PrivateSubCommand1_Click()

Dimb%(10),i%

Print"排序前"

Fori=0To9

b(i)=Int(Rnd*100)

Printb(i);

Nexti

Print

Print"排序后"

Callsort(b())

EndSub

Subsort(a%())

Dimi%,m%,n%,min%,j%

n=UBound(a)

Fori=0Ton-1

Forj=0Ton-1-i

Ifa(j)

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

a(j+1)=m

Nextj

Nexti

Fori=LBound(a)ToUBound(a)-1

Printa(i);

Nexti

EndSub

21,22.已知有序数组a(),编程插入x(x的值为14)。

数组a中的元素分别

为{12,6,4,89,75,63,100,20,31}。

Ip=Val(InputBox("请输入数字x"))

Fori=0ToUBound(A)

IfIp

ReDimPreserveA(UBound(A)+1)

t=A(i)

A(i)=Ip

ins=i

ExitFor

EndIf

Nexti

Fori=ins+1ToUBound(A)-1

n=A(i)

A(i)=t

t=n

Nexti

Text2.Text=""

Fori=0ToUBound(A)-1

Text2.Text=Text2.Text&""&A(i)

Nexti

EndSub

PrivateSubForm_Load()

ReDimA(9)

A(0)=4:

A

(1)=6:

A

(2)=12:

A(3)=20

A(4)=31:

A(5)=63:

A(6)=75:

A(7)=89

A(8)=100

EndSub

 

23、声明一个整型的二维数组a(1to4,1to4),用随机函数产生各元素,范围介于[1,20]之间,编程将第2行和第4行对应元素交换。

PrivateSubForm_Click()

Dima(0To3,0To3),i%,j%,t

Fori=0To3

Forj=0To3

a(i,j)=Int(Rnd*21+1)

PrintTab(j*5);a(i,j);

Nextj

Nexti

Print

Print

Forj=0To3

t=a(1,j):

a(1,j)=a(3,j):

a(3,j)=t

Nextj

Fori=0To3

Forj=0To3

PrintTab(j*5);a(i,j);

Nextj

Nexti

EndSub

24、定义三个4×4的二维数组A,B,C,A和B中的元素均随机生成,数组A的范围是1~20,数组B的范围是100~200,数组C是A和B相加得到的。

请编程生成并输出A,B,C。

PrivateSubCommand1_Click()

Dima(3,3),b(3,3),c(3,3),t%,m%

Fori=0To3

Forj=0To3

a(i,j)=Int(Rnd*20+1)

Picture1.Printa(i,j);

Nextj

Nexti

Picture1.Print

Fori=0To3

Forj=0To3

b(i,j)=Int(Rnd*101+100)

Picture1.Printb(i,j);

Nextj

Nexti

Picture1.Print

Fori=0To3

Forj=0To3

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

Picture1.Printc(i,j);

Nextj

Nexti

25、随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。

PrivateSubForm_Click()

Dima(1To10)AsInteger,i%,maxa%,mina%,suma%

Fori=1To10

a(i)=Int(Rnd*71+30)

Nexti

mina=a

(1)

maxa=a

(1)

suma=a

(1)

Fori=2To10

Ifa(i)>maxaThenmaxa=a(i)

Ifa(i)

suma=suma+a(i)

Nexti

Fori=1To10

Printa(i);

Nexti

Print

Print"max=";maxa,"min=";mina,"aver=";suma/10

EndSub

26、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出每行中的最大值和下标。

Dima%(3,3),i%,j%,imax%

PrivateSubCommand1_Click()

Fori=0To3

Forj=0To3

a(i,j)=Int(Rnd*31+20)

Picture1.Printa(i,j);"";

Nextj

Picture1.Print

Nexti

imax=0

Fori=0To3

Forj=0To3

Ifa(i,imax)

imax=j

EndIf

Nextj

Picture2.Print"第";i+1;"行";"最大值为";a(i,imax);"下标为";"(";i;imax;")"

Nexti

EndSub

27、声明一个整型的二维数组a(1to4,1to4),用随机函数产生各元素,范围介于[1,20]之间,编程将第1行和第3行对应元素交换。

PrivateSubForm_Click()

Dima%(1To4,1To4),i%,j%

Print"排序前"

Fori=1To4

Forj=1To4

a(i,j)=Int(Rnd*20+1)

PrintTab(j*4);a(i,j);

Nextj

Print

Nexti

Print"排序后"

Forj=1To4

t=a(1,j):

a(1,j)=a(3,j):

a(3,j)=t

Nextj

Fori=1To4

Forj=1To4

PrintTab(j*4);a(i,j);

Nextj

Print

Nexti

EndSub

28.编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现)。

调用该过程。

(提示:

只能被1和自身整除的自然数成为素数)

Functionsushu%(ByValx%)

Dimm%,TagAsBoolean,i%

m=Val(x)

Tag=True

Fori=2Tom-1

If(mModi)=0ThenTag=False

Nexti

IfTagThensushu=x

EndFunction

PrivateSubCommand1_Click()

Dimi%,k%

Fori=100To1000

Ifsushu(i)ThenList1.AddItemi

Nexti

Sum=0

Fork=0ToList1.ListCount-1

Sum=Sum+Val(List1.List(k))

Nextk

Label1="[100,1000]内所有素数和为:

"&Sum

EndSub

29,30、随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。

PrivateSubForm_Click()

Dima(4,4)AsInteger

Fori=0To4

Forj=0To4

a(i,j)=Int(Rnd*11+10)

Nextj

Nexti

Fori=0To4

Forj=0Toi

Printa(i,j);

Nextj

Print

Nexti

EndSub

以上三角形式输出该数组

Dima%(4,4)

PrivateSubCommand1_Click()

Picture1.Cls

Fori=0To4

Forj=iTo4

Picture1.PrintTab(j*6);a(i,j)

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

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

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

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