VB 操作题题库 重要.docx

上传人:b****6 文档编号:3486509 上传时间:2022-11-23 格式:DOCX 页数:21 大小:307.63KB
下载 相关 举报
VB 操作题题库 重要.docx_第1页
第1页 / 共21页
VB 操作题题库 重要.docx_第2页
第2页 / 共21页
VB 操作题题库 重要.docx_第3页
第3页 / 共21页
VB 操作题题库 重要.docx_第4页
第4页 / 共21页
VB 操作题题库 重要.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

VB 操作题题库 重要.docx

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

VB 操作题题库 重要.docx

VB操作题题库重要

1.'这是打印乘法九九表的程序,请完善程序。

PrivateSubForm_click()

DimiAsInteger

DimjAsInteger

①9

②i

③i*j

Fori=1To①

Forj=1To②

PrintTab((j-1)*12);

Printj;"*";i;"=";③;

Nextj

Print

Nexti

EndSub

 

2.

(1)'运行程序能够显示数字金字塔,请完善程序。

PrivateSubForm_Click()

DimiAsInteger,jAsInteger

Fori=1To①

PrintTab(10-i);

Forj=1To②

PrintStr(③);

Next④

Print

①4

②i

③i

④j

Nexti

EndSub

 

2.

(2)'运行程序能够显示数字金字塔,请完善程序。

PrivateSubForm_Click()

DimiAsInteger

DimjAsInteger

Fori=1To5

PrintTab(10-i);

Forj=1Toi

PrintStr(i);

Nextj

Print

Nexti

EndSub

3.输出平行四边形

PrivateSubCommand1_Click()

Dimi,jAsInteger

Fori=1To4

PrintTab(6-i);

Forj=1To4

Print"*";

Nextj

Print

Nexti

EndSub

4'本题是在text1中输入一位十六进制数码(若是字母要大写),

'运行程序后能译出它表示的十进制数的程序。

'请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善

PrivateSubCommand1_Click()

DimmAsString

m=①

SelectCasem

Case"A"

m="10"

Case"B"

m="11"

①Text1.Text

②EndSelect

③m

Case"C"

m="12"

Case"D"

m="13"

Case"E"

m="14"

Case"F"

m="15"

Text2.Text=③

EndSub

5.文本框中输入一个三位正整数,求各位数字之和。

如输入835,计算8+3+5,在标签上输出结果16.

PrivateSubCommand1_Click()

DimaAsInteger

DimsAsInteger

①val

②3

③amod10

④a\10

a=①(Text1.Text)

Fori=1To②

s=s+③

a=④

Next

Label1.Caption=Str(s)

EndSub

6''回文字符串是指一个字符串从左往右读与从右往左读是一样的,'如"ABCBA","123321"等等。

编写程序,输入一个字符串,若是回文字符串,则输出"YES",否则输出"NO"。

'以下程序使用文本框Text1输入字符串,使用文本框Text2输出结果,

'请在程序的两个空格处填上相应的字句,使之完成相应的功能。

PrivateSubCommand1_Click()

①Len(s)

②Mid(s,Len(s)+1-i,1)

③Text2.Text=ok

DimsAsString

DimokAsString

DimiAsInteger

s=Text1.Text

ok="Yes"

Fori=1To①

IfMid(s,i,1)<>②Thenok="No"

Nexti

EndSub

7'输入一个数,判断该数是否为完数。

所谓完数即该数等于其因子之和。

'例如:

6=1+2+3;28=1+2+4+7+14。

若是完数则输出。

PrivateSubcmdPerfect_Click()

DimmAsInteger

DimsumAsInteger

DimsAsString

DimiAsInteger

s="1"

sum=1

①=Val(InputBox("输入一个正整数:

"))

①m

②sum+i

③s

Fori=2Tom-1

IfmModi=0Then

sum=②

s=s&"+"&Str(i)

EndIf

Nexti

Ifsum=mThen

Printm;"是完数"

Printm;"=";③'输出因子之和

Else

Printm;"不是完数"

EndIf

EndSub

8完善程序,使之能够随机产生10个100以内的整数,并找其中的最大数、最小数。

PrivateSubCommand1_Click()

Dima(10)AsInteger

DimmaxAsInteger

DimminAsInteger

Randomize

Print"产生10个随机整数:

";

Fori=1To10

a(i)=Int(Rnd*100)

Printa(i);

Nexti

Print

min=a

(1)

max=a

(1)

Fori=2To10

Ifa(i)

Ifa(i)>maxThenmax=a(i)

Nexti

Print"最大数:

";max,"最小数:

";min

EndSub

9'下面是有趣的倒话游戏程序,请完善程序,使之能完成样张功能。

PrivateSubCommand1_Click()

DimxAsString

DimyAsString

x=Text1.Text

y=""

Fori=Len(x)To1Step-1

y=y+Mid(x,i,1)

Nexti

Text2.Text=y

EndSub

 

10.在文本框中分别输入数字后,单击交换按钮,实现两个值交换。

PrivateSubCommand1_Click()

DimaAsInteger

DimbAsInteger

①b

②t

③a

④b

DimtAsInteger

a=Val(Text1.Text)

b=Val(Text2.Text)

t=a

a=①

b=②

Text1.Text=③

Text2.Text=④

EndSub

11'中国邮政的EMS国际快递业务:

中国寄往澳大利亚的快递收费标准是:

'首个0.5公斤收费210元,其余的重量按55元/每千克计算,(总重不足

'0.5千克按210元收费)下面是自动计算寄费的程序,请你完善程序。

PrivateSubCommand1_Click()

DimxAsSingle,yAsSingle

①x

②EndIf

③Text2.Text

y=0

①=Val(Text1.Text)

Ifx>0.5Then

y=210+(x-0.5)*55

Else

y=210

③=Str(y)

EndSub

12'本题是青蛙跃井问题:

井底蛙欲沿湿滑井壁上跃至地面,若井深h尺,蛙上跃3尺下滑1尺,

'请给出井深h值,计算蛙上跃次数n。

PrivateSubCommand1_Click()

DimhAsSingle,nAsInteger

h=Val(①)

①Text1.Text

②1

③n

Ifh>3Then

IfhMod2=0Then

n=h/2

Else

n=(h-1)/2

EndIf

Else

n=②

EndIf

Text2.Text=③

EndSub

13'本题是从一串只含有字母或数字的字符串中找出所有大写字母,

'并把找出的大写字母显示在text2中。

'请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善

PrivateSubCommand1_Click()

DimxAsString,yAsString

DimiAsInteger,nAsInteger

x=①

n=Len(x)

Fori=1To②

IfAsc(Mid(x,i,1))<91AndAsc(Mid(x,i,1))>64Then

y=y+Mid(x,i,1)

EndIf

Nexti

Text2.Text=③

EndSub

答案:

1)text1.text

2)n

3)y

14'完善程序,使之在运行程序后,能在窗体上显示样张所显示的图形。

'请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善

PrivateSubForm_Click()

Line(600,200)-(1500,①),RGB(255,0,0)

Line(1500,200)-(1500,1000),RGB(0,0,255)

Line(1500,1000)-(600,1000),RGB(②)

Line(③,1000)-(600,200),RGB(0,0,255)

EndSub

答案:

1)200

2)255,0,0

3)600

15'该题是求丢番图年龄问题:

丢番图生命的1/6是童年,又过了1/12长胡子,再过了的1/7结婚,婚后5年生儿子,儿子活了父亲年龄的一半死亡,之后丢番图又过了4年死亡。

求丢番图年龄。

'请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善

PrivateSubCommand1_Click()

DimnAsInteger

①n

②while

③Text1.Text

n=0

Do

①=n+1

Loop②n

③=Str(n)

EndSub

16计算圆的面积

①Dim

②text1.text

③s

PrivateSubCommand1_Click()

Constpi=3.14

①r,sasSingle

r=Val(②)

s=pi*r*r

T2.Text=③

EndSub

17.格里高利公式

π/4=1-1/3+1/5-1/7+……,直到最后一项的值小于0.0001为止,输出π的值

'请不要更改源程序的结构,删除原题里的①、②、③、④。

填写正确的代码,使程序完善

PrivateSubCommand1_Click()

DimPiAsSingle,tAsSingle

DimnAsInteger,sAsSingle

Pi=0

t=1:

n=1:

s=1

DoWhileAbs(t)>=0.0001

Pi=Pi+t

n=n+2

s=-s

t=s/n

Loop

Pi=Pi*4

Print"Pi="&CStr(Pi)

EndSub

注意:

题目中出现的cstr和str函数是一个意思。

T12从文本框输入一个秒数ss,转换成小时、分钟、秒。

Label1显示“小时”、label2显示“分钟”、label3显示“秒”。

PrivateSubCommand1_Click()

Dimh,m,s,ssAsInteger

ss=Val(Text1.Text)

h=ss\3600

m=(ss-h*3600)\60

s=(ss-h*3600)Mod60

Label1.Caption=CStr(h)

Label2.Caption=CStr(m)

Label3.Caption=CStr(s)

EndSub

T181输入10个学生的成绩,输出最大值和最小值。

PrivateSubCommand1_Click()

Dimcj(10)AsSingle

DimiAsInteger

DimmaxAsSingle

DimminAsSingle

Fori=1To10

cj(i)=Val(InputBox("请输入10个学生的成绩","成绩输入"))

Nexti

max=cj

(1)

min=cj

(1)

Fori=2To10

Ifcj(i)>maxThen

max=cj(i)

EndIf

Ifcj(i)

min=cj(i)

EndIf

Nexti

PrintCStr(max),CStr(min)

EndSub

T24小明出题(大概)

以上是题目大概界面

意思是:

第一、.点击出题按钮时,label1

和label2产生0-9两个随机数a和b。

尔后做题者把两数之和输入在文本框中。

第二、点击评判按钮,如果做题人输入结果正确,那么label3显示“正确”,否则label3显示“错误”。

第四、label6显示第几次出题。

Dima,b,c,x,nAsInteger

PrivateSubCommand1_Click()

Randomize

Label6.Caption="第"&n&"道题"

a=Int(Rnd*10)

b=Int(Rnd*10)

Label1.Caption=a

Label2.Caption=b

n=n+1

EndSub

PrivateSubCommand2_Click()

c=a+b

x=Val(Text1.Text)

Ifc=xThen

Label3.Caption="正确"

Else

Label3.Caption="错误"

EndIf

EndSub

PrivateSubForm_Load()

n=1

EndSub

T175用递归函数求1+2+……+100的和

PublicFunctionS(nAsInteger)AsInteger

Ifn=1Then

S=1

Else

S=n+S(n-1)

EndIf

EndFunction

PrivateSubCommand1_Click()

DimSumAsInteger

Sum=S(100)

Print"Sum="&CStr(Sum)

EndSub

T32向文本框1中输入一个三位数后,在文本框2中输出倒过来的三位数。

(比如输入123,输出321)

'请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善

PrivateSubCommand1_Click()

DimaAsInteger,bAsInteger

DimbaiAsInteger,shiAsInteger

DimgAsInteger

a=Val(Text1.Text)

bai=a\100

shi=(a-bai*100)\10

g=aMod10

b=g*100+shi*10+bai

Text2.Text=CStr(b)

EndSub

T4从100-999中输出水仙花数。

(水仙花数满足各位立方和等于该数)案例1

'请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善

PrivateSubCommand1_Click()

DimiAsInteger,aAsInteger,bAsInteger,cAsInteger

Fori=100To999

a=i\100

b=(i-a*100)\10

c=iMod10

Ifa^3+b^3+c^3=iThenPrinti

Nexti

EndSub

16,水仙花数(msgbox输出三位数,满足各位立方和等于该数)案例2

Dima,b,casinteger'a:

个位,b:

十位,c:

百位

Fora=0to9

Forb=0to9

Forc=1to9

Ifa^3+b^3+c^3=a+10*b+100*cthen

Msgbox100*c+10*b+a

Endif

Nextc

Nextb

Nexta

T43用递归法求菲薄那列数列。

'请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善

PublicFunctionFib(nAsInteger)AsInteger

If(n=1)Or(n=2)Then

Fib=1

Else

Fib=Fib(n-1)+Fib(n-2)

EndIf

EndFunction

PrivateSubCommand1_Click()

DimSAsInteger

S=Fib(n)

Print"S="&CStr(S)

EndSub

T91随机产生100个随机整数,求偶数的个数

'请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善

Dima(100)AsInteger

PrivateSubCommand1_Click()

DimtotalAsInteger

total=0

Fori=1To100

Ifa(i)Mod2=0Then

total=total+1

EndIf

Nexti

PrintCStr(total)

EndSub

PrivateSubForm_Load()

Randomize

Fori=1To100

a(i)=Int(Rnd*1000)

Nexti

EndSub

T94将数组a中的10个数按升序排列(冒泡排序)

'请不要更改源程序的结构,删除原题里的①、②、③、④。

填写正确的代码,使程序完善

PrivateSubCommand1_Click()

Dima(10)AsInteger

Fori=1To10

a(i)=Int(Rnd*1000)

Nexti

Fori=1To9

Forj=i+1to10

Ifa(i)>a(j)Then

a(0)=a(i)

a(i)=a(j)

a(j)=a(0)

EndIf

Nextj

Nexti

Fori=1To10

PrintCStr(a(i))

Nexti

EndSub

T60向文本框中输入半径r,在文本框2中显示面积(注意文本框1的名称为T1,文本框2的名称为T2)

'请不要更改源程序的结构,删除原题里的①、②、③。

填写正确的代码,使程序完善

PrivateSubCommand1_Click()

Constpi=3.14

Dimr,sasSingle

r=Val(T1.text)

s=pi*r*r

T2.Text=Str(s)

EndSub

T60'有一个qq密码忘记了,只记得密码是5位'且知道67**8,同时该密码能被67和78整除,求密码。

PrivateSubCommand1_Click()

DimxAsLong

Forx=67008To67998Step10

If(xMod67=0)Or(xMod78=0)Then

Printx

EndIf

Nextx

EndSub

18,选择题

x=text1.text

p=0

forI=1tolen(x)

ifmid(x,i,1)=”a”thenp=p+1

nextI

printp

执行上述代码,如果文本框中输入的是“Areyouhappy”,最后窗体上输出的是:

(A)

A1B11C6D5

注:

本题用于求解字符串中小写字母a的个数

T178用递归函数求3!

+5!

+7!

PublicFunctionFac(aAsInteger)AsInteger

Ifa=1Then

Fac=1

Else

Fac=a*fac(a-1)

EndIf

EndFunction

PrivateSubCommand1_Click()

DimSAsInteger

S=Fac(3)+Fac(5)+Fac(7)

Print"S="&CStr(S)

EndSub

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

当前位置:首页 > 工程科技 > 材料科学

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

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