VB编程练习题1、*编写程序:输入一元二次方程的系数a,b,c的值,求解一元二次方程的根。PrivateSubCommand1_Click()Dima#,b#,c#a=Val(InputBox(参数a=))b=Val(InputBox(参数b=))c=Val(InputBox(参数c=))Callroot(a,b,c)EndSubPrivateSubroot(x#,y#,z#)Dimt#,x1#,X2#t=y*y-4*x*zIft0Thenx1=(-y+Sqr(t))/(2*x)X2=(-y-Sqr(t))/(2*x)Print实根;x1=;x1,x2=;X2Elsex1=-y/(2*x):X2=Sqr(Abs(t))/(2*x)Print虚根,x1=&x1&+&X2&iEndIfEndSub2、*编写程序:已知x、y、z分别是0~9中的一个数,求x、y、z的值,使得下列成立:xxz+yzz=532。(其中xxz和yzz不表示乘积,而是由x、y、z组成的三位数)。PrivateSubCommand1_Click()Dimx,y,zForx=1To9Fory=1To9Forz=1To9If(100*x+10*x+z)+(100*y+10*z+z)=532ThenPrintx,y,z;EndIfNextzNextyNextxEndSub3、*编写程序:*计算并输出下面级数前n项(n=50)的部分和。1*2+2*3+3*4+4*5+……+n*(n+1)+…PrivateSubCommand1_Click()DimiAsInteger,nAsInteger,sumAsIntegern=Val(Text1.Text)Fori=1Tonsum=sum+i*(i+1)NextiPrintsumEndSub4、*编写程序:编程计算1-2+3-4+5-6…±n的值,n由用户输入PrivateSubCommand1_Click()DimsAsInteger,aAsInteger,iAsIntegern=Val(Text1.Text)s=0:a=1Fori=1Tons=s+i*aa=-aNextiPrintsEndSub5、*编写程序:编程计算1+(1+2)+(1+2+3)+…+(1+2+3…+n),n由用户输入。PrivateSubCommand1_Click()n=Val(Text1.Text)Sum=0Fori=1Tonsum1=0Forj=1Toisum1=sum1+jNextjSum=Sum+sum1NextiPrintSumEndSub6*编写程序:*计算并输出下面级数前n项(n=30)的部分和。1/(1*2)+1/(2*3)+1/(3*4)+…+1/(n*(n+1))+……PrivateSubCommand1_Click()DimiAsInteger,nAsInteger,sumAsIntegerFori=1To30sum=sum+i*(i+1)k=1/sumw=w+kNextiPrintwEndSub7、*编写程序:*求出斐波那契数列前20项中的奇数项的和。*提示:前两项为:0,1,从第3项开始,每一项均为其前两项的和(即:0+1+1+2+3+5+...)。PrivateSubcommand1_Click()Dima%,b%,c%,d%a=0:b=1Ford=1To18c=a+ba=bb=cIfdMod2=1ThenSum=Sum+cEndIfNextPrintSumEndSub8*编写程序:设计一个程序,随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。PrivateSubCommand1_Click()DimyRandomizeX=Int(Rnd*900+100)PrintXy=strreverse(x)printyEndSub呵呵还有一种方法y=XMod10&Int(X/10)Mod10&Int(X/100)也可以实现逆序排列还有一种方法Fori=0To2y=y&Mid(X,3-i,1)NextiPrinty也可以啊O(∩_∩)O~9、*编写程序:计算并在窗体上输出数字8的平方根和立方根。PrivateSubCommand1_Click()x=8^(1/2)y=8^(1/3)Printx;yEndSub10、*编写程序:设计一个程序,输出在指定范围内的3个随机数,范围通过文本框输入。PrivateSubCommand1_Click()a=Val(Text1.Text)b=Val(Text2.Text)c=Int(a+(b-a+1)*Rnd)d=Int(a+(b-a+1)*Rnd)e=Int(a+(b-a+1)*Rnd)Printc&,&d&,&eEndSub11*编写程序:输入x、y、z三个数,按从小到大的次序显示。PrivateSubCommand1_Click()x=Val(Text1.Text)y=Val(Text2.Text)z=Val(Text3.Text)IfzxThent=z:z=x:x=tEndIfIfzyThent=z:z=y:y=tEndIfIfyxThent=y:y=x:x=tEndIfPrintx&,&y&,&zEndSub12*编写程序:求100至999之间的最大的三个素数。PrivateSubCommand1_Click()DimnAsInteger,iAsInteger,jAsInteger,n1AsIntegerDimflagAsBooleann1=1Forn=900To100Step-1flag=TrueFori=2ToInt(Sqr(n))IfnModi=0Thenflag=FalseExitForEndIfNextIfflagThenDoWhilen1=3Printn;n1=n1+1ExitDoLoopEndIfNextEndSub13、*编写程序:求100-110之间各整数的平方根设置窗体的AutoRedraw属性为True.PrivateSubForm_Load()Dima&,b!Fora=100To110b=Sqr(a)PrintbNextEndSub当然,也可以用format函数来限制结果的格式如:b=format(sqr(a);”####,##”)14、*编写程序:*要求能够产生一个[10,100]内(包括10和100)的一个随机数,然后判断其是否是素数。*如果是,在窗体上输出yes,否则,输出no。PrivateSubCommand1_Click()a=Int(10+91*Rnd)Fori=2ToInt(Sqr(a))If(aModi)=0ThenPrinta&:&noExitSubEndIfNextiPrinta&:&yesEndSubEndSub15、*编写程序:使用级数求π的值。根据下式,计算圆周率π的近似值,当计算到绝对值小于0.0001的通项时,认为满足精度要求,停止计算。用到的公式为π/4=1-1/3+1/5-1/7+...PrivateSubCommand1_Click()Dims!,n!,t!,pi!t=1:pi=0:n=1:s=1WhileAbs(t)=0.0001pi=pi+tn=n+2s=-st=s/nWendpi=pi*4PrintpiEndsub16、*编写程序:利用随机函数产生20个(50,100)(不包括50,100)范围内的随机整数,显示它们当中的最大值、最小值和平均值。PrivateSubForm_Click()Dima,max,min,sum,averagesum=0max=20min=50Fori=1To20a=(Rnd*50)+50sum=sum+aIfaminThenmin=aIfamaxThenmax=aPrintaNextPrintmaxPrintminaverage=sum/20PrintaverageEndSub17、*编写程序:*使用双重循环,在窗体上输出“九九乘法表”的上三角。PrivateSubCommand2_Click()DimIAsInteger,JAsIntegerForI=1To9ForJ=ITo9PrintFormat(I*J,I&x&J&=@@);NextPrintPrintSpace(7*I);NextEndSub18、*编写程序:在文本框中输入小时、分、秒,化成共有多少秒,然后输出总秒数。PrivateSubCommand1_Click()Dimh%,m%,s%,x!h=Val(Text1.Text):m=Val(Text2.Text)s=Val(Text3.Text)x=h*3600+m*60+sLabel1.Caption=共计秒数&Str(x)&秒EndSub19、*编写程序:在文本框中输入弧度值,将弧度换算为角度值(度、分、秒)的形式并输出,要求秒数保留三位小数。PrivateSubCommand1_Click()hudu=Val(Text1.Text)a=Fix(hudu*180/3.14)b=Fix((hudu*180/3.14-a)*60)c=Fix(((hudu*180/3.14-a)*60-b)*60)d=Fix(c)PrintFormat(c,##,000)Printa&度&b&分&c&秒EndSub20、*编写程序:利用InputBox和MsgBox完成小时、分、秒的输入,总秒数的输出。PrivateSubCommand1_Click()Dima,b,c,da=InputBox(小时数)b=InputBox(分钟数)c=InputBox(秒数)d=3600*a+60*b+ce=MsgBox(总秒数&d)EndSub21、*编写程序:在文本框中输入长、宽、高,求长方体的表面积并输出。PrivateSubCommand1_Click()Dima,b,c,da=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)d=2*(a*b+b*c+a*c)Print长方体的表面积&=&dEndSub22、*编写程序:某公司每年的销售收入均比前一年增长10个百分点,按此增长率,需要多少年可以实现销售收入翻两番的目标?PrivateSubForm_Click()DimiAsSingleDimsAsInteger'设s为所求年数,定义为整型,结果由窗体输出i=1s=0DoWhilei=4i=i*(1+0.1)s=s+1LoopPrints=;sEndSub25*编写程序:在文本框中输入3种商品的单价、购买数量,计算并输出所用的总金额。PrivateSubCommand1_Click()Dima1!,b1!,c1!Dima2%,b2%,c2%Dimx!a1=Val(Text1.Text):a2=Val(Text2.Text)b2=Val(Text3.Text):b2=Val(Text4.Text)c3=Val(Text5.Text):c2=Val(Text6.Text)x=a1*a2+b1*b2+c1*c2text7.Text=xEndSub注:text1为第一种商品的单价,text2为第一种商品的数量,其它依此类推,text7为总计金额o(∩_∩)o…26、*编写程序:利用文本框输入一个年份,编程判定该年份是否是闰年。判定条件是:能被400整除,或者能被4整除但不能被100整除的年份是闰年。在文本框中输入年份,使用print输出是否为闰年。PrivateSubCommand1_Click()DimiAsInteger,sAsIntegers=Int(Text1.Text)IfsMod400=0Or(sMod4=0AndsMod1000)ThenPrint闰年ElsePrint不是闰年EndIfEndSub27、*编写程序:百钱买百鸡。公元前5世纪,我国数学家张丘建在《算经》中提出“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?PrivateSubCommand1