20个VB标准基础程序重中之重.docx
- 文档编号:5607844
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:17
- 大小:16.54KB
20个VB标准基础程序重中之重.docx
《20个VB标准基础程序重中之重.docx》由会员分享,可在线阅读,更多相关《20个VB标准基础程序重中之重.docx(17页珍藏版)》请在冰豆网上搜索。
20个VB标准基础程序重中之重
1.随机10整数maxminavesum
OptionBase1
Dima(10)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger
Fori=1To10
a(i)=Int(Rnd*90)+10
Text1=Text1&a(i)&""
Nexti
EndSub
PrivateSubCommand2_Click()
DimmaxAsInteger,minAsInteger,sumAsInteger,aveAsSingle,iAsInteger
max=a
(1)
min=a
(1)
sum=a
(1)
Fori=2To10
Ifa(i)>maxThenmax=a(i)
Ifa(i) sum=sum+a(i) Nexti ave=sum/10 Text2=max Text3=min Text4=sum Text5=ave EndSub PrivateSubCommand3_Click() Text1="" Text2="" Text3="" Text4="" Text5="" EndSub PrivateSubCommand4_Click() End EndSub 2.水仙花数 PrivateSubCommand1_Click() DimxAsInteger,aAsInteger,bAsInteger,cAsInteger x=Text1 a=x\100 b=x\10Mod10 c=xMod10 Ifx=a*a*a+b*b*b+c*c*cThen Text2=x&"是水仙花数" Else Text2=x&"不是水仙花数" EndIf EndSub PrivateSubCommand2_Click() Text1="" Text2="" EndSub PrivateSubCommand3_Click() End EndSub 3.百钱买百鸡 PrivateSubCommand1_Click() DimxAsInteger,yAsInteger,zAsInteger List1.AddItem"公鸡母鸡小鸡" Forx=1To20 Fory=1To33 z=100-x-y If5*x+3*y+z/3=100Then List1.AddItemCStr(x)&Space(6)&CStr(y)&Space(6)&CStr(z) EndIf Nexty Nextx EndSub PrivateSubCommand2_Click() End EndSub 4.1000以内完数 PrivateSubCommand1_Click() DimiAsInteger,xAsInteger,mAsInteger,sAsInteger Form=2To1000 x=m s=0 Fori=1Tom-1 IfxModi=0Then s=s+i EndIf Nexti Ifm=sThenText1=Text1&m&"" Nextm EndSub PrivateSubCommand2_Click() End EndSub 5.各个位数之和 PrivateSubCommand1_Click() DimxAsLong,sAsInteger x=Text1 DoUntilx=0 s=s+xMod10 x=x\10 Loop Text2=s EndSub PrivateSubCommand2_Click() Text1="" Text2="" EndSub PrivateSubCommand3_Click() End EndSub 6.最小公倍数(先求最大公约数) PrivateSubCommand1_Click() DimxAsInteger,yAsInteger,mAsInteger,nAsInteger,rAsInteger x=Text1 y=Text2 m=x n=y r=mModn DoWhiler<>0 m=n n=r r=mModn Loop Text3=x*y/n EndSub PrivateSubCommand2_Click() Text1="" Text2="" Text3="" EndSub PrivateSubCommand3_Click() End EndSub 7.逆序数 PrivateSubCommand1_Click() DimxAsLong,aAsInteger,yAsLong x=Text1 DoWhilex<>0 a=xMod10 y=y*10+a x=x\10 Loop Text2=y EndSub PrivateSubCommand2_Click() Text1="" Text2="" EndSub PrivateSubCommand3_Click() End EndSub 8.级数求和 PrivateSubCommand1_Click() DimsumAsSingle,tAsSingle,nAsLong,flgAsInteger sum=0 t=1 n=1 flg=1 x=Text1 DoUntiln=x+1 t=flg*n sum=sum+t n=n+1 flg=-flg Loop Text2=sum EndSub PrivateSubCommand2_Click() Text1="" Text2="" EndSub PrivateSubCommand3_Click() End EndSub 9.求一个数的质因子 PrivateSubCommand1_Click() DimiAsInteger,b()AsInteger,xAsInteger,nAsInteger x=Text1 Text2=x&"=" i=2 DoWhilex>1 IfxModi=0Then n=n+1 ReDimPreserveb(n) b(n)=i x=x\i Else i=i+1 EndIf Loop Fori=1ToUBound(b)-1 Text2=Text2&b(i)&"*" Nexti Text2=Text2&b(i) EndSub PrivateSubCommand2_Click() Text1="" Text2="" EndSub PrivateSubCommand3_Click() End EndSub 10.字符统计 OptionBase1 PrivateSubCommand1_Click() DimiAsInteger,a(26)AsInteger,nAsInteger,sAsString*1,strlAsString strl=Text1 n=Len(strl) Fori=1Ton s=Mid(strl,i,1) IfUCase(s)>="A"AndUCase(s)<="Z"Then a(Asc(UCase(s))-64)=a(Asc(UCase(s))-64)+1 EndIf Nexti Fori=1To26 List1.AddItemChr(64+i)&": "&a(i) Nexti EndSub PrivateSubCommand2_Click() End EndSub 11.素数过程,1000以内完全素数 PrivateSubCommand1_Click() DimiAsInteger Fori=1To98 Ifprime(i)Andprime(i+2)Then List1.AddItemi&","&i+2 EndIf Nexti EndSub PrivateFunctionprime(nAsInteger)AsBoolean DimiAsInteger prime=False Fori=2ToSqr(n) IfnModi=0ThenExitFunction Nexti prime=True EndFunction PrivateSubCommand2_Click() End EndSub 12.最大公约数自定义过程 PrivateSubCommand1_Click() DimxAsInteger,yAsInteger x=Text1 y=Text2 Text3=gcd(x,y) EndSub PrivateFunctiongcd(mAsInteger,nAsInteger)AsInteger DimrAsInteger r=mModn DoWhiler<>0 m=n n=r r=mModn Loop gcd=n EndFunction PrivateSubCommand2_Click() Text1="" Text2="" Text3="" EndSub PrivateSubCommand3_Click() End EndSub 13.冒泡排序 OptionBase1 Dima(10)AsInteger PrivateSubCommand1_Click() DimiAsInteger Fori=1To10 a(i)=Int(90*Rnd)+10 Text1=Text1&a(i)&"" Nexti EndSub PrivateSubCommand2_Click() DimiAsInteger Callsort(a,10) Fori=1To10 Text2=Text2&a(i)&"" Nexti EndSub PrivateSubCommand3_Click() End EndSub PrivateSubsort(a()AsInteger,nAsInteger) DimiAsInteger,jAsInteger,tAsInteger Fori=1Ton-1 Forj=1Ton-i Ifa(j)>a(j+1)Then t=a(j) a(j)=a(j+1) a(j+1)=t EndIf Nextj Nexti EndSub 14.顺序查找 OptionBase1 Dima(10)AsInteger PrivateSubCommand1_Click() DimiAsInteger Fori=1To10 a(i)=Int(90*Rnd)+10 Text1=Text1&a(i)&"" Nexti EndSub PrivateSubCommand2_Click() DimnAsInteger n=Text2 Callcz(a,n) EndSub PrivateSubcz(a()AsInteger,nAsInteger) DimiAsInteger Fori=1ToUBound(a) Ifa(i)=nThen MsgBox"要查找的数是第"&CStr(i)&"个元素",vbOKOnly,"顺序查找" ExitSub EndIf Nexti MsgBox"要查找的数不存在",vbOKOnly,"顺序查找" EndSub PrivateSubCommand3_Click() End EndSub 15.判断回文数 OptionBase1 PrivateSubCommand1_Click() DimxAsLong x=Text1 Ifhuiwenshu(x)=TrueThen Text2=x&"是回文数" Else Text2=x&"不是回文数" EndIf EndSub PrivateFunctionhuiwenshu(ByValnAsLong)AsBoolean DimaAsLong,bAsLong a=0 b=n DoUntiln=0 a=a*10+nMod10 n=n\10 Loop Ifa<>bThenExitFunction huiwenshu=True EndFunction PrivateSubCommand2_Click() Text1="" Text2="" EndSub PrivateSubCommand3_Click() End EndSub 16.递归求阶乘 PrivateSubCommand1_Click() DimxAsLong x=Text1 Text2=fac(x) EndSub PrivateFunctionfac(nAsLong)AsLong Ifn=0Orn=1Then fac=1 Else fac=n*fac(n-1) EndIf EndFunction PrivateSubCommand2_Click() Text1="" Text2="" EndSub PrivateSubCommand3_Click() End EndSub 17.递归求斐波那契数列 PrivateSubCommand1_Click() DimxAsLong,nAsLong x=Text1 Forn=1Tox List1.AddItemf(n) Nextn EndSub PrivateFunctionf(nAsLong)AsLong Ifn=1Orn=2Then f=1 Else f=f(n-1)+f(n-2) EndIf EndFunction PrivateSubCommand2_Click() List1.Clear Text1="" EndSub PrivateSubCommand3_Click() End EndSub 18.求矩阵的不靠边元素之和 OptionBase1 Dima(4,4)AsInteger PrivateSubCommand1_Click() DimiAsInteger,jAsInteger Randomize Fori=1To4 Forj=1To4 a(i,j)=Int(Rnd*90)+10 Text1=Text1&a(i,j)&"" Nextj Text1=Text1&vbCrLf Nexti EndSub PrivateSubCommand2_Click() Text2=sum(a) EndSub PrivateFunctionsum(a()AsInteger)AsInteger DimiAsInteger,jAsInteger Forj=1ToUBound(a,2) sum=sum+a(1,j)+a(4,j) Nextj Fori=2ToUBound(a,1) sum=sum+a(i,1)+a(i,4) Nexti EndFunction PrivateSubCommand3_Click() Text1="" Text2="" EndSub PrivateSubCommand4_Click() End EndSub 19.求矩阵所有靠边元素之和 OptionBase1 Dima(4,4)AsInteger PrivateSubCommand1_Click() DimiAsInteger,jAsInteger Randomize Fori=1To4 Forj=1To4 a(i,j)=Int(Rnd*90)+10 Text1=Text1&a(i,j)&"" Nextj Text1=Text1&vbCrLf Nexti EndSub PrivateSubCommand2_Click() Text2=sum(a) EndSub PrivateFunctionsum(a()AsInteger)AsInteger DimiAsInteger,jAsInteger Fori=2ToUBound(a,1)-1 Forj=2ToUBound(a,2)-1 sum=sum+a(i,j) Nextj Nexti EndFunction PrivateSubCommand3_Click() Text1="" Text2="" EndSub PrivateSubCommand4_Click() End EndSub 20.矩阵转置 OptionBase1 Dima(4,4)AsInteger PrivateSubCommand1_Click() DimiAsInteger,jAsInteger Randomize Fori=1To4 Forj=1To4 a(i,j)=Int(Rnd*90)+10 Text1=Text1&a(i,j)&"" Nextj Text1=Text1&vbCrLf Nexti EndSub PrivateSubzz(x()AsInteger) DimiAsInteger,jAsInteger,tAsInteger Fori=1ToUBound(x,1) Forj=i+1ToUBound(x,2) t=a(i,j) a(i,j)=a(j,i) a(j,i)=t Nextj Nexti Fori=1To4 Forj=1To4 Text2=Text2&a(i,j)&"" Nextj Text2=Text2&vbCrLf Nexti EndSub PrivateSubCommand2_Click() Callzz(a) EndSub PrivateSubCommand3_Click() Text1="" Text2="" EndSub PrivateSubCommand4_Click() End EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 20 VB 标准 基础 程序 重中之重