VB程序题型总结_第1页
VB程序题型总结_第2页
VB程序题型总结_第3页
VB程序题型总结_第4页
VB程序题型总结_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.随机产生一个3位正整数,然后逆序输出。例如,产生734,输出437。提示:利用运算符“Mod”和“\”将一个3位数分离出三个个位数,然后将各位连接成一个逆序的3位数。PrivateSubButton1_Click()HandlesButton1.ClickDima,b,cAsIntegerRandomize()TextBox1.Text=Int(Rnd()*900+100)a=Val(TextBox1.Text)\100b=(Val(TextBox1.Text)-a*100)\10c=TextBox1.TextMod10MsgBox("逆序产生的数为:"&c&b&a)EndSub2.编写一个程序,输入a、b、c三个数,要求按由大到小的顺序显示PrivateSubButton1_Click()HandlesButton1.ClickDima,b,c,tAsSinglea=TextBox1.Textb=TextBox2.Textc=TextBox3.TextIfa<bThent=a:a=b:b=tIfa<cThent=a:a=c:c=tIfb<cThent=b:b=c:c=tMsgBox(a&">"&b&">"&c)EndSub4.利用计算机解决古代数学问题“鸡兔同笼问题”。即已知在同一笼子里有总数为M只鸡和兔,鸡和兔的总脚数为N只,求鸡和兔各有多少只?PrivateSubTextBox2_LostFocus()HandlesTextBox2.LostFocusDimx,y,M,NAsIntegerM=Val(TextBox1.Text)N=Val(TextBox2.Text)IfNMod2<>0ThenMsgBox("输入的总脚数非偶数,请重新输入",,"提示")y=N/2-Mx=M-yIfx<0Ory<0ThenMsgBox("求得的解是荒唐解,请重新输入数据!",,"提示")ElseLabel2.Text=x&Space(4)&yEndIfEndSub自己的思路(答案是对的):PrivateSubButton1_Click()HandlesButton1.ClickDimx,y,M,NAsIntegerM=TextBox1.TextN=TextBox2.TextIf(4*M-N)/2Mod1=0And(N-2*M)/2Mod1=0Thenx=(4*M-N)/2y=(N-2*M)/2MsgBox("鸡有"&x&"只;兔子有"&y&"只")ElseMsgBox("请重新输入M,N")EndIfEndSub5.用单循环显示有规律图形,如图所示。PrivateSubButton1_Click()HandlesButton1.ClickDimsAsString="★★★★★★★★★★★★★★★★★★★★"'DimzsAsStringDimiAsIntegerLabel1.Text=""Fori=0To9Step1zs=Mid(s,1,2*i+1)Label1.Text&=Space(18-2*i)&zs&vbCrLfNextEndSub自己的方法(答案正确):PrivateSubButton1_Click()HandlesButton1.ClickDimiAsIntegerFori=1To10Label1.Text&=Space(20-2*i)&StrDup(2*i-1,"★")&vbCrLfNextiEndSub6.筛选字母字符并逆序存放。PrivateSubButton1_Click()HandlesButton1.ClickDimi,mAsIntegerDimaAsCharm=Len(TextBox1.Text)TextBox2.Text=""Fori=1Toma=Mid(TextBox1.Text,i,1)IfUCase(a)>="A"AndUCase(a)<="Z"ThenTextBox2.Text=a&TextBox2.TextEndIfNextEndSub7.编写一程序,显示所有的水仙花数。所谓水仙花数是指一个3位数,其各位数字立方和等于等于该数字本身。例如,153是水仙花数,因为153=13+53+33。PrivateSubForm1_Load()HandlesMyBase.LoadLabel1.Text="水仙花数"&vbCrLfDimx,i,j,k,nAsIntegern=0Forx=100To999i=x\100j=(xMod100)\10k=xMod10Ifx=i^3+j^3+k^3Thenn+=1Label1.Text&=x&Space(4)IfnMod3=0ThenLabel1.Text&=vbCrLfEndIfEndIfNextEndSub自己做的答案(正确):PrivateSubButton1_Click()HandlesButton1.ClickDimx,a,b,cAsIntegerForx=100To999a=x\100b=(x-a*100)\10c=xMod10Ifx=a^3+b^3+c^3ThenLabel1.Text&=x&""NextxEndSub8.求Sn=a+aa+aaa+aaaa+…+aa…aaa(n个a),其中a是通过滚动条获得的一个1~9(包括1,9)中的一个正整数,n是通过滚动条获得的5~10(包括5,10)中的一个数。PrivateSubHScrollBar2_Scroll()HandlesHScrollBar2.Scroll,HScrollBar1.ScrollDima,n,s,tempAsLongs=0a=HScrollBar1.ValueLabel1.Text="a="&an=HScrollBar2.ValueLabel2.Text="n="&ntemp=0Label3.Text="sum="Forj=1Tontemp=temp*10+as=s+tempLabel3.Text&=tempIfj<>nThenLabel3.Text&="+"EndIfNextLabel3.Text&="="&sEndSubPrivateSubHScrollBar1_Scroll()HandlesHScrollBar1.Scroll,HScrollBar2.ScrollDima,n,s,tempAsLongs=0a=HScrollBar1.ValueLabel1.Text="a="&an=HScrollBar2.ValueLabel2.Text="n="&ntemp=0Label3.Text=""Forj=1Tontemp=temp*10+as=s+tempLabel3.Text&=Space(18-j)&temp&vbCrLfNextLabel3.Text&="-------------------------------"&vbCrLf&Space(18-n)&sEndSub9.创建WINDOWS应用项目,可重复性地随机产生10个30~100(包括30和100)的正整数,显示整个数组,求出并显示最大值、最小值和平均值。PrivateSubButton1_Click()HandlesButton1.ClickDima%(9),i%,min%,max%,aver!Randomize()a(0)=Int(Rnd()*71+30)min=a(0):max=a(0):aver=a(0)Label1.Text=a(0)&""Fori=1To9a(i)=Int(Rnd()*71+30)Label1.Text&=a(i)&""Ifmin>a(i)Thenmin=a(i)Ifmax<a(i)Thenmax=a(i)aver+=a(i)Nextiaver=aver/10MsgBox("最大值为:"&max&";最小值为:"&min&"平均值为:"&aver)EndSub10.已知有6个学生的成绩,通过对数组赋初值的方法,以每5分为一个“★”显示,并显示产生的成绩PrivateSubButton1_Click()HandlesButton1.ClickDima()AsInteger={71,53,58,29,30,78},i%Fori=0ToUBound(a)Label1.Text&=StrDup(a(i)\5,"★")&a(i)&vbCrLfNextiEndSub11.编写程序完成,随机产生20个[10,100]之间的整数,输出这20个数,并求这批数的最大值及最大值位置。PrivateSubButton1_Click()HandlesButton1.ClickDima%(19),i%,n%,max%Randomize()a(0)=Int(Rnd()*91+10):max=a(0)Label1.Text=a(0)&""Fori=1To19a(i)=Int(Rnd()*91+10)Ifmax<a(i)Thenmax=a(i):n=i+1Label1.Text&=a(i)&""NextLabel1.Text&=vbCrLfLabel1.Text&="最大值为:"&max&";为第"&n&"个数"EndSub12.在通用声明段声明两个数组,并对数组赋初始值,形成如下两个矩阵:要求:用下三角形式显示A矩阵、上三角形式显示B矩阵。求A矩阵两条对角线元素之和。DimA(,)AsInteger={{35,67,52,50},{33,47,66,39},{47,56,66,41},{30,69,55,38}}DimB%(,)={{103,115,125,101},{133,127,132,135},{111,103,134,118},{123,109,113,130}}PrivateSubButton1_Click()HandlesButton1.ClickLabel1.Text="":Label2.Text="":Label3.Text=""Dimi%,j%,sum1%Fori=0To3Forj=0To3Label1.Text&=A(i,j)&""NextLabel1.Text&=vbCrLfNextFori=0To3Label2.Text&=Space(i*4)Forj=iTo3Label2.Text&=B(i,j)&""NextLabel2.Text&=vbCrLfNextFori=0To3Forj=0To3Ifj=iOrj=3-iThensum1+=A(i,j)EndIfNextNextLabel3.Text="A数组对角线元素和为"&vbCrLf&sum1EndSub13.参考教材例,编一求两数m,n最大公约数的函数f(m,n)。主调程序在两个文本框中输入数据,在TextBox3框中显示结果Functionf(ByVala%,ByValb%)AsIntegerDimr%,t%Ifa<bThent=a:a=b:b=tr=aModbDoWhiler<>0a=b:b=r:r=aModbLoopReturnbEndFunctionPrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimm%,n%m=Val(TextBox1.Text)n=Val(TextBox2.Text)Label4.Text&=m&Space(10-Len(Trim(m)))&n&Space(10-Len(Trim(n)))&f(m,n)&vbCrLfEndSub14.编一子过程ProMin(ByRefa%(),ByRefamin%),求一维数组a中的最小值amin。PublicClassForm1SubProMin(ByVala%(),ByRefamin%)Dimi%amin=a(0)Fori=1ToUBound(a)Ifa(i)<aminThenamin=a(i)NextEndSubPrivateSubButton1_Click()HandlesButton1.ClickDima%(9),i%,a1%Randomize()TextBox1.Text="":Label2.Text=""Fori=0ToUBound(a)a(i)=Int(Rnd()*101-400)TextBox1.Text&=a(i)&""NextCallProMin(a,a1)Label2.Text&="数组中的最小值为:"&a115.编一子过程MaxLength(s,MaxWord),在已知的字符串s中,找出最长的单词MaxWord。假定字符串s内只含有字母和空格,空格分隔不同的单词。FunctionMaxLength(ByValsl$)AsStringDimn%,sq$n=InStr(sl,"")MaxLength=""DoWhilesl<>""sq=Microsoft.VisualBasic.Left(sl,n-1)IfLen(sq)>Len(MaxLength)ThenMaxLength=sqEndIfsl=Mid(sl,n+1)n=InStr(sl,"")Ifn=0Thenn=Len(sl)+1EndIfLoopEndFunctionPrivateSubButton1_Click()HandlesButton1.ClickDims$s$=Trim(TextBox1.Text)TextBox2.Text=MaxLength(s)EndSub16.编写过程实现,查找用户输入的一行文字中是否含有“VB”,如果有,输出“VB”出现的次数。PrivateSubTextBox1_KeyPress()HandlesTextBox1.KeyPressLabel1.Text=""Dims$,s1$,n%,sum%DimflagAsBooleanIfAsc(e.KeyChar)=13Thens=TextBox1.Texts1="VB"n=InStr(s,s1)sum=0Ifn>0Thenflag=TrueDoWhilen>0sum+=1s=Mid(s,n+2)n=InStr(s,s1)LoopEndIfIfflagThenLabel1.Text="输入的文字中含有""VB"",出现的次数为:"&sum&"次"ElseLabel1.Text="输入的文字中不含有""VB"""EndIfEndIfEndSub16.百元买百鸡问题:假定小鸡每只0.5元,公鸡每只2元,母鸡每只3元,现有100元钱要求买100只鸡,编列所有购鸡方案。并算出计算次数n(设能卖小鸡x只,公鸡y只,母鸡z只,则最多能卖公鸡50只,母鸡33只,小鸡(100-y-z)只)两重循环:PrivateSubButton1_Click()HandlesButton1.Click

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论