vb题库.docx

上传人:b****6 文档编号:7910013 上传时间:2023-01-27 格式:DOCX 页数:14 大小:18.80KB
下载 相关 举报
vb题库.docx_第1页
第1页 / 共14页
vb题库.docx_第2页
第2页 / 共14页
vb题库.docx_第3页
第3页 / 共14页
vb题库.docx_第4页
第4页 / 共14页
vb题库.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

vb题库.docx

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

vb题库.docx

vb题库

vb试题库 

要求:

1、在我的电脑D:

盘下建文件夹,文件夹名为自己的学号如“20061331001”

2、在学号文件夹下新建文件夹,命名为试题编号:

“201000”,将所有的程序文件放在试题编号文件夹下

 

1.乘除计算

PrivateSubCommand1_Click()

Text1=""

Text2=""

Text3=""

EndSub

PrivateSubCommand2_Click()

Text3=Val(Text1)/Val(Text2)

EndSub

PrivateSubCommand3_Click()

Text1=Val(Text3)*Val(Text2)

EndSub

2.

PrivateSubCommand1_Click()

DimxAsInteger

x=#1/1/2011#-Date

Text1.Text="距离2011年新年还有"&x&"天"

EndSub

3.输入两个数,打印交换前和交换后的数

PrivateSubCommand1_Click()

Dimm,n,tAsInteger

m=InputBox("输入m")

n=InputBox("输入n")

Picture1.Print"交换前:

"

Picture1.Print"m=";m,"n=";n

t=m:

m=n:

n=t

Picture1.Print"交换后:

"

Picture1.Print"m=";m,"n=";n

t=m:

m=n:

n=t

EndSub

4.

PrivateSubForm_Click()

Dimsfgz,jbgz,xAsSingle

jbgz=Val(InputBox("输入基本工资","计算工资",300)) '

x=Val(InputBox("输入本月营业额"))

sfgz=jbgz+x*0.05

Label1="本月营业额为:

"&x&" 基本工资为:

"&jbgz&vbCrLf

Label1=Label1&"本月实发工资为:

"&sfgz '

EndSub

5..利用随机函数产生3个数字在指定区间的随机数字,程序的运行结果如图所示。

PrivateSubCommand1_Click()

DimmAsInteger,nAsInteger

m=Val(Text1.Text)

n=Val(Text2.Text)

Randomize

Text3.Text=Str(m+Int(Rnd*(n-m)))

Text4.Text=Str(m+Int(Rnd*(n-m)))

Text5.Text=Str(m+Int(Rnd*(n-m)))

EndSub

6.随机产生10个100~200之间的数,求最大值。

PrivateSubCommand1_Click()

Max=100

Fori=1To10

x=Int(Rnd*101+100)

Printx;

Ifx>MaxThenMax=x

Nexti

Print

Print"最大值=";Max

EndSub

7.下面程序是在键盘上输入任一个二进制数,单击命令按钮后,即能转换为十进制数。

PrivateSubCommand1_Click()

B$=Val(InputBox(″″,″″,0))

M=Len(B$)

ForJ=1ToM

Dec=Dec*2+val(Mid$(B$,J,1))

NextJ

Print″Thedecimalnumberis″;Dec

EndSub

8.给定年份,下列程序用来判断该年是否闰年,请在划线处将程序补充完整。

提示:

闰年的条件是年号可以被4整除但不能被100整除,或者能被400整除。

PrivateSubCommand6_Click()DimyAsIntegery=InputBox(″请输入年号″)If(yMod4=0andyMod100<>0)and(yMod400=0)ThenPrint″是闰年″ElsePrint″是普通年份″EndIfEndSub

 

9.判断输入的是否是素数

PrivateSubCommand1_Click()

Dimi%,m%,TagAsBoolean

m=Val(Text1)

Tag=True           '假定是素数

Fori=2Tom-1

If(mModi)=0ThenTag=False 

Nexti

IfTagThenPicture1.Printm&" 是素数"  

EndSub

10.求最大公约数和最小公倍数

PrivateSubForm_Click()

n1=InputBox("输入n")

m1=InputBox("输入m")

Ifm1>n1Then       '使得m>n

m=m1:

n=n1

Else

m=n1:

n=m1

EndIf

r=mModn

DoWhiler<>0

m=n

n=r

r=mModn

Loop

Printm1;",";n1;"的最大公约数为";n

Print"最小公倍数=",m1*n1/n

EndSub

11.判断输入的数字是几位数,并输出

Privatesubcommand1_click()

Dimnumber$,i%

number=Text1.Text

Picture1.Printnumber&"是一个"&Len(number)&"位数"

Fori=1ToLen(number)

Picture1.PrintMid(number,i,1);

Nexti

EndSub

12.已知x,y,z三个数,使得x>y>z。

If x

t=x:

x=y:

y=t

EndIf

If y

t=y:

y=z:

z=t         

If x

t=x:

x=y:

y=t

EndIf

EndIf

13.使用selectcase语句判断成绩优良,其中90分以上为“优’;80-89为“良”;70-79为“中”;60-69为“及格”;60以下为“差”。

PrivateSubCommand1_Click()

Dimcj%

IfIsNumeric(Text1.Text)Then

cj=Val(Text1.Text)

SelectCasecj

CaseIs>=90

Label2.Caption="成绩:

"&"优秀"

Case80To89

Label2.Caption="成绩:

"&"良好"

Case70To79

Label2.Caption="成绩:

"&"中等"

Case60To69

Label2.Caption="成绩:

"&"及格"

CaseElse

Label2.Caption="成绩:

"&"差"

EndSelect

EndIf

Printx,y,z

EndSub

14.有如下函数,输入X,计算Y的值。

 

Y=

 

PrivateSubCommand1_Click()

DimxAsSingle,yAsSingle

x=Val(Text1.Text)

Ifx<0Then

y=-x

ElseIfx<5Then

y=2*x

Else

y=3*x-5

EndIf

Text2.Te

xt=y

EndSub

15.判断输入的是什么字符

PrivateSubCommand1_Click()

DimchAsString*1

ch=InputBox("input")

IfUCase(ch)>="A"AndUCase(ch)<="Z"Then        MsgBox(ch+"是字母字符")

ElseIfch>="0"Andch<="9"Then              MsgBox(ch+"是数字字符")

Else

MsgBox(ch+"是其他字符") 

EndIf

EndSub

16.统计文本框输入的字符串中26个字母出现的次数。

ForI=1Tole

c=UCase(Mid(Text1,I,1))

Ifc>="A"Andc<="Z"

Then j=Asc(c)-65+1       

a(j)=a(j)+1         

EndIf

NextI

Forj=1To26        

Ifa(j)>0ThenPicture1.Print"";Chr$(j+64);"=";a(j);

Nextj

17..输入一元二次方程的三个系数,并依此判断根的情况

Privatesubcommand1_click()

Dima%,b%,c%,p%

a=input(“输入a”)

b=input(“输入b”)

c=input(“输入c”) 

P=b*b-4*a*c

ifp=0then

print“有两个相等实根”

else

ifp>0then

print“有两个不相等实根”

else

print“有两个共轭复根”

endif

endif

endsub

18.随机生成1——100间10个数字,统计其中奇偶数的个数,并求和。

Privatesubcommand1_click()

Dima(9)asinteger

Dimsum%,m%,n%,i%

Fori=0to9

A(i)=int(100*rnd)+1

Nexti

Fori=0to9

Ifa(i)mod2=0then

M=m+1

Else

N=n+1

Endif

Sum=sum+a(i)

Nexti

Endsub

19.生成20个200到300之间的随机数,输出其中能被5整除的数并求出它们的和。

PrivateSubCommand1_Click()

Dimx%,i%,s%

s=0

Fori=1To20

x=Int(Rnd()*101+200)

IfxMod5=0Then

Printx

s=s+x

EndIf

Nexti

Print"sum=";s

EndSub

20.输入任意自然数,计算其阶乘。

DimIAsInteger,NAsInteger,FacAsSingle

PrivateSubForm_Load()

Frm.Show

TxtInput.SetFocus

EndSub

PrivateSubCmdOk_Click()

N=TxtInput.Text

Fac=1

I=1

WhileI<=N

Fac=Fac*I

I=I+1

Wend

LblResult.Caption=Str(N)&"的阶乘:

"&Str(Fac)

EndSub

21..求1~100的5或7的倍数的和

PrivateSubForm_Click()

Dimi%,sum%

sum=0

Fori=1To100

IfiMod5=0OriMod7=0Then

sum=sum+i

EndIf

Next i

PrintSum

EndSub

22.输出50以内自然数能被2整除的个数,能被3整除的个数。

PrivateSubCmd1_Click()

DimIasInteger,xasInteger,yasInteger

Print “ ”;

Do

I=I+1

If IMod2=0Thenx=x+1

If IMod2=0Theny=y+1

LoopUntilI>=50

Print“被2整除的自然数的个数为”&x

Print“被3整除的自然数的个数为”&y

EndSub

23.一个富翁与陌生人做一笔金钱交易,换钱规则为:

陌生人每天给富翁10万元,直到满30天为止;富翁第一天给陌生人1分钱,第二天给2分钱,第三天给4分钱,……,富翁每天给陌生人的钱是前一天的两倍,直到满一个月。

分别显示富翁给陌生人和陌生人给富翁的钱是多少?

PrivateSubForm_Click()

DimxAsSingle,yAsDouble

x=0.01

y=0.01

Fori=2To30

x=2*x

y=y+x

Nexti

Print"陌生人付钱:

";10*30;"万元"

Print"富翁付钱:

";y;"元"

EndSub

24.猴子吃桃子。

小猴在一天摘了若干个桃子,当天吃掉一半多一个;第二天接着吃了剩下的桃子的一半多一个;以后每天都吃尚存桃子的一半零一个,到第7天早上要吃时只剩下一个了,问小猴那天共摘下了多少个桃子?

PrivateSubForm_Click()

Dimn%,i%

x=1      '第7天的桃子

Print"第7天的桃子数为:

1只"

Fori=6To1Step-1

x=(x+1)*2

Print"第";i;"天的桃子数为:

";x;"只"

Nexti

EndSub

25.下面程序的功能是从文本框(数组)接收由键盘输入的6个整数,找出最大数和最小数所在的位置,并把两者对调,然后输出调整后的6个数。

PrivateSubCommand1_Click()Dima%(5),max%,min%,i%,j%,k%Fori=0To5a(i)=input("请输入第"&i&"个数","输入")”)Nextimin=a(0)max=a(0)Fori=1To5If min>a(i)Thenmin=a(i)k=iEndIfIfa(i)>maxThenmax=a(i)j=iEndIfNextit=a(k):

a(k)=a(j):

a(j)=t:

 Fori=0To5Printa(i);NextiEndSub

 

26.随机产生2位数,并排序

Dima(9)AsInteger,i%,min%,imin%,j%,t%,n

PrivateSubform_Click()

Fori=0To9

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

Nexti

n=9

Fori=0To8

imin=i

Forj=i+1Ton

Ifa(j)>a(imin)Thenimin=j

Nextj

t=a(i)

a(i)=a(imin)

a(imin)=t

Printa(i);

Nexti

EndSub

27.冒泡法排序

Optionbase1

Privatesubcommand1_click()

Dima()asinteger

Dimi%,n%,j%,temp%

n=inputbox(“请输入要排序的整数个数”,”排序数字个数”)

redima(n)asinteger

fori=1ton

a(i)=inputbox(“输入数字,每次输一个”,”输入”)

fori=1ton-1

forj=1ton-i

ifa(j)>a(j+1)then

temp=a(j)

a(j)=a(j+1)

a(j+1)=temp

endif

nextj

nexti

fori=1ton

printa(i);

nexti

endsub

28.将文本框内的数据(用逗号分割)按照从大到小的顺序显示出来

PrivateSubCommand1_Click()

Dimnum()AsString

DimminAsInteger

Dimi,jAsInteger

DimdivmumAsInteger

DimmaxmumAsInteger

divnum=0

num=Split(Text1.Text,",")

min=Val(num(0))

Fori=0ToUBound(num)

IfVal(num(i))

Nexti

Fori=1Tomin

divnum=0

Forj=0ToUBound(num)

IfVal(num(j))Modi=0Thendivnum=divnum+1

Nextj

 

Ifdivnum=(UBound(num)+1)Thenmaxnum=i

Nexti

Text2=maxnum

EndSub

29.100元买100只鸡,母鸡3元一只,公鸡2元一只,小鸡5毛一只。

计算可以买多少只鸡。

PrivateSubForm_Click()

Dimx%,y%,z%,n&

n=0

Print"母鸡","公鸡","小鸡"

Forx=0To33

Fory=0To50

Z=100-x-y

If3*x+2*y+0.5*z=100Andx+y+z=100Then

Printx,y,z

EndIf

Nextz

Nexty

Nextx

Print"共计算了",n,"次"

EndSub

30.随机生成50~100之间的五个正整数,然后按从小到大的顺序排序。

Dima(4)AsInteger

PrivateSubCommand1_Click() '生成随机数

DimkAsInteger

Fork=0To4

a(k)=Int(Rnd()*(100-50)+50)

Picture1.Printa(k);

 

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

当前位置:首页 > 经管营销 > 经济市场

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

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