VB题库.docx

上传人:b****4 文档编号:4379583 上传时间:2022-12-01 格式:DOCX 页数:115 大小:47.65KB
下载 相关 举报
VB题库.docx_第1页
第1页 / 共115页
VB题库.docx_第2页
第2页 / 共115页
VB题库.docx_第3页
第3页 / 共115页
VB题库.docx_第4页
第4页 / 共115页
VB题库.docx_第5页
第5页 / 共115页
点击查看更多>>
下载资源
资源描述

VB题库.docx

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

VB题库.docx

VB题库

'如果位置错误给出提示,否则分别显示删除前后的数组元素

'PrivateSubForm_Click()

DimA(10)AsInteger,XAsInteger,iAsInteger,kAsInteger

Fori=1To10

A(i)=Int(Rnd*90)+10

PrintA(i);

Nexti

Print

X=InputBox("请输入要删除第几位数字")

'**********FOUND**********

IfX>0AndX<=10Then'Ifx>0Then

'**********FOUND**********

Fork=XTo9'Fork=xTo10

A(k)=A(k+1)

Nextk

Print"删除后的数组:

"

Fori=1To9

PrintA(i);

Nexti

Else

Print"删除位置错误"

'**********FOUND**********

EndIf'End

EndSub

题目:

在下列程序段中,过程fb可以显示任意长度的菲

'   波那契数列,现要求通过键盘输入一数字,利用

'   该过程显示不超过指定数字大小的数列

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

OptionExplicit

PrivateSubForm_Click()

DimXAsInteger

X=Val(InputBox("请指定显示范围"))

'**********FOUND**********

Callfb(X)'callfby

EndSub

PublicSubfb(XAsInteger)

Dimi&,j%,k%

j=1

i=1

Printi;j;

k=i+j

'**********FOUND**********

DoUntilk>X'DoWhilek>x

Printk;

i=j

j=k

'**********FOUND**********

k=i+j'k=i-j

Loop

EndSub

题目:

下面的程序段用于实现以下功能:

建立一顺序文

'   件,存放10名同学的学号和三门功课成绩,显示

'   该文件内所有记录,并同时显示其总分和平均分

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Click()

Dimno%,c1%,c2%,c3%,iAsInteger

'**********FOUND**********

Open"c:

\2.txt"ForOutputAs#1'Open"c:

\2.txt"ForInputAs#1

Fori=1To3

no=InputBox("请输入学号")

c1=InputBox("请输入数学成绩")

c2=InputBox("请输入语文成绩")

c3=InputBox("请输入外语")

Write#1,no,c1,c2,c3

Nexti

Close#1

'**********FOUND**********

Open"c:

\2.txt"ForInputAs#1'Open"c:

\2.txt"ForOutputAs#1

Fori=1To3

'**********FOUND**********

Input#1,no,c1,c2,c3'Print#1,no,c1,c2,c3

Printno,c1,c2,c3,c1+c2+c3,(c1+c2+c3)/3

Nexti

Close#1

EndSub

题目:

以下程序段用于输出100-300的所有素数

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Click()

DimNAsInteger,kAsInteger,iAsInteger,switAsInteger

ForN=101To300Step2

k=Int(Sqr(N))

i=2

'**********FOUND**********

swit=0'swit=1

'**********FOUND**********

Whileswit=1'Whileswit=0

IfNModi=0Then

swit=1

Else

'**********FOUND**********

i=i+1'i=i-1

EndIf

Wend

Ifswit=0Then

PrintN;

IfNMod7=0ThenPrint

EndIf

NextN

EndSub

题目:

在下面的程序段中过程pd可以判断任意三个数能

'否构成三角形的三边,利用该过程的判定结果,

'对能构成三角形的计算其面积,构不成的显示"

'不能构成三角形"

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

OptionExplicit

PrivateSubForm_Click()

'**********FOUND**********

DimX%,Y%,z%,s!

bAsBoolean,hAsSingle'Dimx%,y%,z%,s%,bAsBoolean,hAsSingle

X=InputBox("请输入三角形的边长")

Y=InputBox("请输入三角形的边长")

z=InputBox("请输入三角形的边长")

b=pd(X,Y,z)

h=(X+Y+z)/2

'**********FOUND**********

IfbThen'IfNotbThen

s=Sqr(h*(h-X)*(h-Y)*(h-z))

Print"三角形面积是";s

Else

Print"不能构成三角形"

EndIf

EndSub

'**********FOUND**********

PublicFunctionpd(X%,Y%,z%)AsBoolean'PublicFunctionpd()AsBoolean

IfX>0AndY>0Andz>0AndX+Y>0AndX+z>YAndY+z>XThen

pd=True

Else

pd=False

EndIf

EndFunction

题目:

以下程序段用于打印如下图形式的九九乘法表:

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Click()

DimiAsInteger,jAsInteger,kAsInteger

PrintTab(30);"9*9table"

Print:

Print

Print"*";

Fori=1To9

'**********FOUND**********

PrintTab(i*6);i;'PrintTab(i*6);i

Nexti

Print

Forj=1To9

Printj;"";

'**********FOUND**********

Fork=1To9'Fork=1To9(可能会根据图的样式更改为jTo9或1Toj)

'**********FOUND**********

PrintTab(k*6);j*k;"";'PrintTab(j*6);j*k;"";

Nextk

Print

Nextj

EndSub

题目:

一个两位的正整数,如果将它的个位数与十位数

'对调,则产生另一个正整数,我们把后者叫做前

'者的对调数,现给定一个两位的正数,请找到另

'一个两位的正整数,使得这两个两位正整数之和

'等于它们各自的对调数之和。

例如;

'12+32=23+21。

下面程序把具有这种特征的一对对

'两位正整数都找出来。

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

OptionExplicit

PrivateSubForm_Click()

DimkAsInteger,gAsInteger,hAsInteger,MAsInteger

DimNAsInteger,iAsInteger,TAsInteger,sAsInteger,jAsInteger

k=InputBox("请输入一个两位数")

k=Val(k)

g=Int(k/10)

'**********FOUND**********

h=k-g*10:

M=h*10+g'h=k-g*10m=h*10+g

Print

Print"输入的两位数是";k

Print

'**********FOUND**********

ForN=11To99'Forn=1To99

i=Int(N/10)

j=N-i*10

T=i*10+j

s=j*10+i

Ifk+N=M+sThen

Print"";k;"+(";T;")=(";s;")+";M

'**********FOUND**********

EndIf'End

NextN

EndSub

题目:

求s=1!

+3!

+5!

+7!

,阶乘的计算用Function过程

'fact实现.

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Click()

DimiAsInteger,sAsInteger

'**********FOUND**********

Fori=1To7Step2'Fori=1To7

s=s+fact(i)

Nexti

Prints

EndSub

'**********FOUND**********

PublicFunctionfact%(N%)'PublicFunctionfact()

DimTAsInteger,iAsInteger

T=1

Fori=1ToN

T=T*i

Nexti

'**********FOUND**********

fact=T'fact=i

EndFunction

题目:

下面的程序段的功能是:

读入八进制数,将其转

'换成把十进制数

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Click()

Dimoct_numAsString

DimlengthAsInteger,sAsInteger,NAsInteger,iAsInteger,dAsString,jAsString

oct_num=InputBox("请输入一八进制数")

'**********FOUND**********

length=Len(oct_num)'length=length(oct_num)

s=0

N=0

'**********FOUND**********

Fori=lengthTo1Step-1'Fori=lengthTo1

d=Mid(oct_num,i,1)

s=s+d*8^N

N=N+1

'**********FOUND**********

Nexti'Nextj

Print"十进制数是:

";s

EndSub

题目:

以下程序段用于计算货物运费?

设货物运费每吨

'单价p元与运输距离s公里之间有如下关系:

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

OptionExplicit

PrivateSubForm_Click()

Dimw!

s!

DimPAsCurrency,TAsCurrency

w=InputBox("请输入货物重量")

s=InputBox("请输入托运距离")

SelectCases

CaseIs<100

P=30

'**********FOUND**********

CaseIs<200

P=27.5

CaseIs<300

P=25

CaseIs<400

P=32.5

'**********FOUND**********

CaseElse

P=20

'**********FOUND**********

EndSelect

T=P*w*s

Print"总运费:

";T;"元"

EndSub

题目:

以下程序用于建立一个三行三列的矩阵,使其两

'条对角线上数字为1,其余位置为0

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Click()

DimX(3,3),NAsInteger,MAsInteger

ForN=1To3

ForM=1To3

'**********FOUND**********

IfM=NOr((M=3AndN=1)Or(M=1AndN=3))ThenX(N,M)=1ElseX(N,M)=0'Ifn=mThenx(n,m)=1Elsex(n,m)=0(我无法办到直接用表达式输出a(1,3)和a(3,1)也是1)

'**********FOUND**********

NextM,N'Nextn,m

ForN=1To3

ForM=1To3

'**********FOUND**********

PrintX(M,N);'Printx(m,n)

NextM

Print

NextN

EndSub

题目:

下面程序段将7个随机整数从小到大排序

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Click()

DimT%,M%,N%,w%,A(7)AsInteger

ForM=1To7

A(M)=Int(10+Rnd()*90)

PrintA(M);"";

NextM

Print

ForM=1To6

T=M

'**********FOUND**********

ForN=T+1To7'Forn=2To7

'**********FOUND**********

IfA(T)>A(N)ThenT=N'Ifa(t)>a(n)Thenn=t

NextN

'**********FOUND**********

IfT<>MThen'Ift=mThen

w=A(M)

A(M)=A(T)

A(T)=w

EndIf

NextM

ForM=1To7

PrintA(M);"";

NextM

EndSub

题目:

下面程序可输出如下图形:

'*

'***

'*****

'*******

'*********

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Click()

DimMAsInteger,NAsInteger,sAsString,iAsInteger,jAsInteger

N=4

M=1

s="*"

Fori=5To1Step-1

'**********FOUND**********

PrintSpc(i);'PrintSpc(n)

Forj=1To2*M-1

Prints;

Nextj

Print

'**********FOUND**********

N=N-1'n=n+1

'**********FOUND**********

M=M+1'm=m-1

Nexti

EndSub

题目:

下面的程序段用于删除数组中指定位置的数字,

'如果位置错误给出提示,否则分别显示删除前

'后的数组元素

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Click()

DimA(10)AsInteger,XAsInteger

DimiAsInteger,kAsInteger

Fori=1To10

A(i)=Int(Rnd*90)+10

PrintA(i);

Nexti

Print

X=InputBox("请输入要删除第几位数字")

'**********FOUND**********

IfX>=0AndX<=10Then

'**********FOUND**********

Fork=XTo9

'**********FOUND**********

A(k)=A(k+1)

Nextk

Print"删除后的数组:

"

Fori=1To9

PrintA(i);

Nexti

Else

Print"删除位置错误"

EndIf

EndSub

题目:

该程序实现将输入的0-255之间的正整数转

'换成二进制数

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Click()

ConstN=8

DimA(N)AsInteger,sAsString,MAsInteger,XAsInteger

X=Val(InputBox("请输入一个0-255之间的正整数:

"))

PrintX

'**********FOUND**********

ForM=0ToN'Form=1Ton

A(M)=XMod2

'**********FOUND**********

X=X\2'x=x/2

NextM

s=""

ForM=NTo0Step-1

'**********FOUND**********

s=s+Str(A(M))'s=Str(a(m))

NextM

Prints

EndSub

题目:

以下程序段用于计算5的N次方?

'------------------------------------------------

'注意:

不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

PrivateSubForm_Cli

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

当前位置:首页 > 解决方案 > 学习计划

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

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