经典的VB编程题.docx

上传人:b****3 文档编号:3796855 上传时间:2023-05-06 格式:DOCX 页数:19 大小:147.88KB
下载 相关 举报
经典的VB编程题.docx_第1页
第1页 / 共19页
经典的VB编程题.docx_第2页
第2页 / 共19页
经典的VB编程题.docx_第3页
第3页 / 共19页
经典的VB编程题.docx_第4页
第4页 / 共19页
经典的VB编程题.docx_第5页
第5页 / 共19页
经典的VB编程题.docx_第6页
第6页 / 共19页
经典的VB编程题.docx_第7页
第7页 / 共19页
经典的VB编程题.docx_第8页
第8页 / 共19页
经典的VB编程题.docx_第9页
第9页 / 共19页
经典的VB编程题.docx_第10页
第10页 / 共19页
经典的VB编程题.docx_第11页
第11页 / 共19页
经典的VB编程题.docx_第12页
第12页 / 共19页
经典的VB编程题.docx_第13页
第13页 / 共19页
经典的VB编程题.docx_第14页
第14页 / 共19页
经典的VB编程题.docx_第15页
第15页 / 共19页
经典的VB编程题.docx_第16页
第16页 / 共19页
经典的VB编程题.docx_第17页
第17页 / 共19页
经典的VB编程题.docx_第18页
第18页 / 共19页
经典的VB编程题.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

经典的VB编程题.docx

《经典的VB编程题.docx》由会员分享,可在线阅读,更多相关《经典的VB编程题.docx(19页珍藏版)》请在冰点文库上搜索。

经典的VB编程题.docx

经典的VB编程题

1.Fibonacci函数。

PrivateSubCommand1_Click()

DimnAsInteger

n=Text1

Text2=fib(n)

EndSub

Functionfib(ByValxAsInteger)AsInteger

Ifx=1Orx=2Then

fib=1

Else

fib=fib(x-2)+fib(x-1)

EndIf

EndFunction

PrivateSubCommand2_Click()

Text1=""

Text2=""

Text1.SetFocus

EndSub

PrivateSubCommand3_Click()

End

EndSub

2.百元百鸡

PrivateSubcmdCalc_Click()

'变量说明

DimxAsInteger

DimyAsInteger

DimzAsInteger

'穷举法计算

Forx=1To20

Fory=1To33

z=100-x-y

If5*x+3*y+z/3=100Then

Text1=Text1&CStr(x)&Space(6)&CStr(y)&Space(6)&CStr(z)&Chr(13)&Chr(10)

EndIf

Nexty

Nextx

EndSub

3.矩阵不靠边元素和

Forj=1To5

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

Next

Next

Fori=1To5

Forj=1To5

Picture1.Printa(i,j);

Next

Picture1.Print

Next

EndSub

PrivateSubCommand2_Click()

Text1=fun1(a)

EndSub

Functionfun1(x()AsInteger)AsDouble

DimiAsInteger,jAsInteger

fun1=0

Fori=LBound(x,1)ToUBound(x,1)

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

IfNot(i=LBound(x,1)Ori=UBound(x,1)Orj=LBound(x,2)Orj=UBound(x,2))Then

fun1=fun1+x(i,j)

EndIf

Next

Next

EndFunction

PrivateSubCommand3_Click()

Text1=""

Picture1.Cls

Command1.SetFocus

EndSub

PrivateSubCommand4_Click()

End

EndSub

4.递归函数

PrivateSubCommand1_Click()

List1.Clear

DimiAsInteger

Fori=1To7

List1.AddItemfact(i)

Nexti

EndSub

Functionfact(ByValnAsDouble)AsDouble

Ifn=1Then

fact=1

Else

fact=n*fact(n-1)

EndIf

EndFunction

PrivateSubCommand2_Click()

List1.Clear

EndSub

PrivateSubCommand3_Click()

End

EndSub

5.回文数

PrivateSubCommand1_Click()

Randomize

DimiAsInteger,xAsInteger,minAsInteger

Fori=1To500

x=Int(Rnd*9000)+1000

Text1=Text1&x&vbCrLf

IfHuiWenShu(x)Then

Text2=Text2&x&vbCrLf

Ifmin=0Then

min=x

Else

Ifmin>xThen

min=x

EndIf

EndIf

EndIf

Nexti

Text3=min

EndSub

FunctionHuiWenShu(ByValaAsInteger)AsBoolean

IfStrReverse(a)=aThen

HuiWenShu=True

Else

HuiWenShu=False

EndIf

EndFunction

PrivateSubCommand2_Click()

Text1=""

Text2=""

Text3=""

EndSub

PrivateSubCommand3_Click()

End

EndSub

6.级数求和。

PrivateSubCommand1_Click()

DimsAsDouble,nAsLong

DimmAsDouble

s=0

n=1

Do

m=1/(2*n-1)

Ifm<10^(-5)ThenExitDo

s=s+m

n=n+1

Loop

Text1=CStr(s)

EndSub

PrivateSubCommand2_Click()

Text1=""

EndSub

PrivateSubCommand3_Click()

End

EndSub

7.矩阵转置

OptionBase1

Dima(4,4)AsInteger

PrivateSubCommand1_Click()

DimbAsInteger,cAsInteger

DimiAsInteger,jAsInteger,tempAsInteger

Randomize

Forb=1To4

Forc=1To4

a(b,c)=Int(Rnd*90)+10

Text1=Text1&a(b,c)&""

Nextc

Text1=Text1&vbCrLf

Nextb

Fori=1To4

Forj=1Toi-1

temp=a(i,j)

a(i,j)=a(j,i)

a(j,i)=temp

Nextj

Nexti

Fori=1To4

Forj=1To4

Text2=Text2&a(i,j)&""

Nextj

Text2=Text2&vbCrLf

Nexti

EndSub

PrivateSubCommand2_Click()

Text1=""

Text2=""

EndSub

PrivateSubCommand3_Click()

End

EndSub

8.靠边元素和。

PrivateSubCommand1_Click()

Dima(1To4,1To4)AsInteger

DimiAsInteger,jAsInteger

Fori=1To4

Forj=1To4

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

Next

Next

Fori=1To4

Forj=1To4

Picture1.Printa(i,j);

Next

Picture1.Print

Next

Text1=fun1(a)

EndSub

Functionfun1(x()AsInteger)AsDouble

DimiAsInteger,jAsInteger

fun1=0

Fori=LBound(x,1)ToUBound(x,1)

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

Ifi=LBound(x,1)Ori=UBound(x,1)Orj=LBound(x,2)Orj=UBound(x,2)Then

fun1=fun1+x(i,j)

EndIf

Next

Next

EndFunction

PrivateSubCommand2_Click()

Picture1.Cls

Text1=""

EndSub

PrivateSubCommand3_Click()

End

EndSub

9.孪生素数

PrivateSubCommand1_Click()

DimiAsInteger

List1.Clear

Fori=2To998

IfIsPrime(i)AndIsPrime(i+2)Then

List1.AddItemCStr(i)&""&CStr(i+2)

EndIf

Next

EndSub

FunctionIsPrime(ByValnAsInteger)AsBoolean

DimiAsInteger

Fori=2Ton-1

IfnModi=0ThenExitFunction

Next

IsPrime=True

EndFunction

PrivateSubCommand2_Click()

List1.Clear

EndSub

PrivateSubCommand3_Click()

End

EndSub

10.冒泡顺序

OptionBase1

Dima(10)AsInteger

PrivateSubCommand1_Click()

DimiAsInteger,jAsInteger,kAsInteger,tempAsInteger

Randomize

Fori=1To10

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

Text1=Text1&a(i)&""

Nexti

Forj=1To9

Fork=1To10-j

Ifa(k)>a(k+1)Then

temp=a(k)

a(k)=a(k+1)

a(k+1)=temp

EndIf

Nextk

Nextj

Forj=1To10

Text2=Text2&a(j)&""

Nextj

EndSub

PrivateSubCommand2_Click()

Text1=""

Text2=""

EndSub

PrivateSubCommand3_Click()

End

EndSub

11.逆序数

PrivateSubCommand1_Click()

DimnAsString,sAsString

DimiAsInteger

n=Text1

Fori=Len(n)To1Step-1

s=s&Mid(n,i,1)

Nexti

Text2=s

EndSub

PrivateSubCommand2_Click()

Text1=""

Text2=""

EndSub

PrivateSubCommand3_Click()

End

EndSub

12.判断素数

PrivateSubcmdJudge_Click()

DimxAsInteger'待判断的数字

DimIAsInteger'循环变量

x=Val(txtInput.Text)

'根据素数定义进行判断

ForI=2Tox-1

IfxModI=0ThenExitFor

NextI

IfI>x-1Then

PrintCStr(x)&"是素数"

Else

PrintCStr(x)&"不是素数"

EndIf

EndSub

13.水仙花数

PrivateSubCommand1_Click()

DimiAsInteger,aAsInteger,bAsInteger,cAsInteger

Fori=100To999

a=i\100

b=i\10Mod10

c=iMod10

Ifi=a*a*a+b*b*b+c*c*cThen

Text1=Text1&i&vbCrLf

EndIf

Nexti

EndSub

PrivateSubCommand2_Click()

End

EndSub

14.顺序查找

Dims(1To10)AsInteger

PrivateSubCommand1_Click()

DimiAsInteger

Text1=""

Fori=1To10

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

Text1=Text1&CStr(s(i))&""

Next

EndSub

PrivateSubCommand2_Click()

DimmAsInteger

m=search(s,Val(Text2))

Ifm>0Then

Text3="要查找的数是第"&CStr(m)&"个元素"

Else

Text3="要查找的数不存在"

EndIf

EndSub

Functionsearch(x()AsInteger,ByValnAsInteger)AsInteger

DimiAsInteger

search=-1

Fori=LBound(x)ToUBound(x)

Ifx(i)=nThen

search=i

ExitFunction

EndIf

Next

EndFunction

PrivateSubCommand3_Click()

End

15.完全质因子数

PrivateSubCommand1_Click()

DimiAsInteger,jAsInteger,sAsInteger

List1.Clear

Fori=1To100

s=0

Forj=1Toi-1

IfiModj=0Then

s=s+j

EndIf

Next

Ifs=iThenList1.AddItemi

Next

EndSub

PrivateSubCommand2_Click()

List1.Clear

EndSub

PrivateSubCommand3_Click()

End

EndSub

16.字符统计

OptionBase1

PrivateSubCommand1_Click()

DimiAsInteger,a(26)AsInteger,nAsInteger

DimsAsString*1,str1AsString

str1=Text1

n=Len(str1)

Fori=1Ton

s=Mid(str1,i,1)

IfUCase(s)>="A"AndUCase(s)<="Z"Then

a(Asc(UCase(s))-64)=a(Asc(UCase(s))-64)+1

EndIf

Nexti

Fori=1To26

Ifa(i)<>0Then

List1.AddItemChr(64+i)&":

"&a(i)

EndIf

Nexti

EndSub

PrivateSubCommand2_Click()

Text1=""

List1.Clear

EndSub

PrivateSubCommand3_Click()

End

EndSub

17.最大公约数

PrivateSubCommand1_Click()

DimmAsInteger,nAsInteger

m=Val(Text1)

n=Val(Text2)

Text3=gcd(m,n)

Text4=m*n/gcd(m,n)

EndSub

Functiongcd(ByValaAsInteger,ByValbAsInteger)AsInteger

DimrAsInteger

Do

r=aModb

a=b

b=r

LoopUntilr=0

gcd=CStr(a)

EndFunction

PrivateSubCommand2_Click()

Text1=""

Text2=""

Text3=""

Text4=""

Text1.SetFocus

EndSub

PrivateSubCommand3_Click()

End

18。

最大最小平均求和

Dims(1To10)AsInteger

PrivateSubCommand1_Click()

DimiAsInteger

Fori=1To10

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

List1.AddItems(i)

Next

EndSub

PrivateSubCommand2_Click()

DimiAsInteger

DimmaxAsInteger,minAsInteger,sumAsInteger

max=s

(1)

min=s

(1)

sum=0

Fori=1To10

sum=sum+s(i)

Next

Fori=2To10

Ifs(i)>maxThenmax=s(i)

Ifs(i)

Next

Text1=max

Text2=min

Text3=sum/10

Text4=sum

EndSub

PrivateSubCommand3_Click()

List1.Clear

Text1=""

Text2=""

Text3=""

Text4=""

Command1.SetFocus

EndSub

20.最小公倍数

PrivateSubCommand1_Click()

DimmAsInteger,nAsInteger

m=Text1

n=Text2

Text3=m*n/gcd(m,n)

EndSub

Functiongcd(ByValaAsInteger,ByValbAsInteger)AsInteger

DimrAsInteger

Do

r=aModb

a=b

b=r

LoopUntilr=0

gcd=CStr(a)

EndFunction

PrivateSubCommand2_Click()

Text1=""

Text2=""

Text3=""

Text1.SetFocus

EndSub

PrivateSubCommand3_Click()

End

EndSub

17.质因子

PrivateSubCommand1_Click()

DimaAsInteger,bAsInteger

a=Text1.Text

Fori=2Toa/2

 DoWhilea<>0

   IfaModi=0Then

    Text2=Text2&i&""

    a=a/i

 Else

 ExitDo

 EndIf

 Loop

 Nexti

    

EndSub

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

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2