为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > VB编程程序练习题

VB编程程序练习题

2018-05-18 6页 pdf 553KB 5阅读

用户头像

is_270070

暂无简介

举报
VB编程程序练习题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*zIft>0Thenx1=(-y+Sqr(t))/(2*x)X2=(-y-Sqr(t))/(2...
VB编程程序练习题
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*zIft>0Thenx1=(-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&"i"EndIfEndSub2、*编写程序:已知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)Ifz>xThent=z:z=x:x=tEndIfIfz>yThent=z:z=y:y=tEndIfIfy>xThent=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&":"&"no"ExitSubEndIfNextiPrinta&":"&"yes"EndSubEndSub15、*编写程序:使用级数求π的值。根据下式,计算圆周率π的近似值,当计算到绝对值小于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+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+1LoopPrint"s=";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=0AndsMod100<>0)ThenPrint"闰年"ElsePrint"不是闰年"EndIfEndSub27、*编写程序:百钱买百鸡。公元前5世纪,我国数学家张丘建在《算经》中提出“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?PrivateSubCommand1_Click()Forx=0To30Fory=0To33If5*x+3*y+(100-x-y)/3=100ThenPrintx,y,100-x-yEndIfNextyNextx注:X代表公鸡,Y代表母鸡28、*编写程序:有一阶梯,如果每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;每步跨7阶,正好到达阶梯顶。问阶梯至少有多少阶?PrivateSubCommand1_Click()x=0DoUntilxMod2=1AndxMod3=2AndxMod4=3AndxMod5=4AndxMod6=5AndxMod7=0x=x+1LoopPrintxEndSub29、*编写程序:输出所有的“水仙花数”,所谓的“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。PrivateSubCommand1_Click()Fora=1To9Forb=1To9Forc=1To9Ifa^3+b^3+c^3=a*100+b*10+cThenPrinta,b,cEndIfNextcNextbNextaEndSub30、*编写程序:输出以下图形:****************PrivateSubCommand1_Click()Fori=1To4PrintTab(25-i);Forj=1To2*i-1Print"*";NextjPrintNextiEndSub31、*编写程序:*打印出以下图案。*************************PrivateSubCommand1_Click()DimiAsIntegerMe.Clsn=4Fori=1TonPrintTab(n-i+1);String(2*i-1,"*")NextFori=n-1To1Step-1PrintTab(n-i+1);String(2*i-1,"*")NextEndSub32、*编写程序:*打印出以下图案。**+**+*+**+*+*+**+*+**+**PrivateSubCommand1_Click()DimiAsIntegerMe.Clsn=4Fori=1TonPrintTab(25-i);Forj=1To2*i-1IfjMod2=0ThenPrint"+";ElsePrint"*";EndIfNextjPrintNextiFori=3To1Step-1PrintTab(25-i);Forj=1To2*i-1IfjMod2=0ThenPrint"+";ElsePrint"*";EndIfNextjPrintNextiEndSub33、*编写一个图形输出的程序*************************************************PrivateSubCommand1_Click()DimiAsIntegerMe.Clsn=5Fori=nTo1Step-1PrintTab(n-i+1);String(2*i-1,"*")NextFori=2TonPrintTab(n-i+1);String(2*i-1,"*")NextEndSub34、*编写程序:*打印出以下图案。*********************PrivateSubCommand1_Click()Fori=1To6Printtab(i);Forj=1ToiPrint"*";NextjPrintNextiEndSub35、*编写程序,输出下列三角形:333332221PrivateSubCommand1_Click()Fori=4To1Step-1PrintTab(10-i);Forj=2*i-1To1Step-1PrintTrim(Str(i));NextjNextiEndSub36、*编写程序:*打印出以下图案。122233333333332221PrivateSubCommand1_Click()Fori=1To4PrintTab(10-i);Forj=1Toi*2-1PrintTrim(Str(i));NextjNextiFori=3To1Step-1PrintTab(10-i);Forj=2*i-1To1Step-1PrintTrim(Str(i));NextjNextiEndSub37、*编写程序:*打印出以下图案。112112321123211211PrivateSubCommand1_Click()Fori=1To4PrintTab(25-i);Forj=1ToiPrintTrim(Str(j));NextjForj=i-1To1Step-1PrintTrim(Str(j));NextjPrintNextiFori=5To7PrintTab(17+i);Forj=1To8-iPrintTrim(Str(j));NextjForj=7-iTo1Step-1PrintTrim(Str(j));NextjNextiEndSub注释:Trim()功能删除字符串首部和尾部的空格。38、*编写程序:*打印出以下图案。ABBBCCCCCDDDDDDDCCCCCBBBAPrivateSubCommand1_Click()DimiAsIntegerDimjAsIntegerDimnAsIntegern=4Fori=1TonPrintSpace$(n-i);Forj=1To(i*2-1)PrintChr(64+i);NextjPrintNextiFori=3To1Step-1PrintSpace$(n-i);Forj=1To(i*2-1)PrintChr(64+i);NextjPrintNextiEndSub39、*编写程序:*打印出以下图案。AABCABCDEABCDEFGABCDEABCAPrivateSubCommand1_Click()DimiAsIntegerDimjAsIntegerDimnAsIntegern=4Fori=1TonPrintSpace$(n-i);Forj=1To(i*2-1)PrintChr(64+j);NextjPrintNextiFori=3To1Step-1PrintSpace$(n-i);Forj=1To(i*2-1)PrintChr(64+j);NextjPrintNextiEndSub注:1.编程题多是一题多解,可据自身情况,遴选捷径;我等水平有限,难免出错。可依据软件,稍作修改。
/
本文档为【VB编程程序练习题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索