您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > visualbasic程序设计教程-第四版-刘炳文编著-清华大学
VisualBasic程序设计教程部分习题参考第四版刘炳文编著清华大学出版社第五章5.4、从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均值。通过inputbox函数输入数据,在窗体上显示和及平均值。DimaassingleFori=1to4a=inputbox(“请输入一个数:”,“数据输入”)sum=sum+an=n+1avg=sum/nnextiprint“和是:”,sumprint“平均值是:”,avg5.5、编写程序,要求用户输入下列信息:姓名、年龄、通信地址、邮政编码、电话,然后将输入的数据用适当的格式在窗体上显示出来。DimaasvariantFontsize=20a=inputbox(“请输入姓名:”,“数据输入”)print“姓名:”;aa=inputbox(“请输入年龄:”,“数据输入”)print“年龄:”;aa=inputbox(“请输入通信地址:”,“数据输入”)print“通信地址:”;aa=inputbox(“请输入邮政编码:”,“数据输入”)print“邮政编码:”;aa=inputbox(“请输入电话:”,“数据输入”)print“电话:”;a5.7.设a=5,b=2.5,c=7.8,编程序计算:y=(πab)/(a+bc)程序:Dimaassingle,bassingle,cassinglea=5b=2.5c=7.8pi=3.14y=(pi*a*b)/(a+b*c)print“结果是:”;y5.8、输入以秒为单位表示的时间,编写程序,将其转换为几日几时几秒。Dimaaslong,dasinteger,hasinteger,sasintegera=inputbox(“请输入秒数:”,“数据输入”)d=int(a/86400)h=int((a-d*86400)/3600)s=a-d*86400-h*3600printd;“日”;h;“时”;s;“秒”5.9、自由落体位移公式为:s=gt2/2+v0t其中v0为初始速度,g为重力加速度,t为经历的时间,编写程序,求位移量s。设v0=4.8m/s,t=0.5s,g=9.81m/s2,在程序中把g定义为符号常量,用inputbox函数输入v0和t两个变量的值。Dimvassingle,tassingle,sassingleg=9.81v=inputbox(“请输入初始速度:”,“数据输入”)v=val(v)t=inputbox(“请输入经历的时间:”,“数据输入”)t=val(t)s=g*t*t/2+v*tprint“位移量是:”;s第七章7.1.编程计算并输出S的值:s=2+4+6+8+…+100dimi,sasintegers=0fori=2to100step2s=s+inextprints7.2、我国现有人口为13亿,设年增长率为1%,编写程序,计算多少年后增加到20亿。PrivateSubForm_click()DimpAsDoubleDimrAsSingleDimnAsIntegerp=130000000r=0.01n=0DoWhilep=200000000p=p*(1+r)n=n+1LoopPrintn;年后;中国人口增加到;pEndSub7.3、给定三角形的3条边长,计算三角形的面积。编写程序:首先判断给出的3条边能否构成三角形,如可以构成,则计算并输出三角形的面积,否则要求重新输入。当输入-1时结束程序。Dimaassingle;bassingle;cassingleStart:a=inputbox(“请输入第一条边长-1结束:”,”数据输入”)a=val(a)ifa=-1thenendendifb=inputbox(“请输入第二条边长”,“数据输入”)b=val(b)c=inputbox(“请输入第三条边长”,“数据输入”)c=val(c)ifa+b=cora+c=borb+c=athenmsgbox(“您输入的三条边长不能构成三角形,请重新输入!”)gotostartelsel=(a+b+c)/2s=sqr(l*(l-a)*(l-b)*(l-c))endifprint“三角形的面积为:”;s7.5、编写程序,打印如下所示的“数字金字塔”112112321……12345678987654321PrivateSubForm_Click()Dima(1To5)AsIntegerForj=1To5a(j)=jNextjFori=1To5PrintTab(30-i*3);Forj=1To2*i-1IfjiThenPrinta(2*i-j);ElsePrinta(j);EndIfNextjNextiEndSub7.6.勾股定理中三个数的关系是a*a+b*b=c*c。编写程序,输出30以内满足上述关系的整数组合。例如3,4,5就是一个满足要求的整数组合PrivateSubCommand1_Click()DimMaxAsInteger,IAsInteger,JAsInteger,KMax=30ForI=3ToMax-2ForJ=I+1ToMax-1K=Sqr(I^2+J^2)IfK=Int(K)AndK=MaxThenPrintI,J,KNextNextEndSub7.8.如果一个数的因子之和等于这个数的本身,则称这样的数为“完全数”。例如,整数28的因子为1,2,4,7,14,其和1+2+4+7+14=28,因此28是一个完全数,编写一个程序,从键盘上输入整数M和N,求出M和N之间的所有的完全数formload()'inti,j,m,n,summ=inputbox(输入最小正整数)n=inputbox(输入最大正整数)forj=mtonsum=0fori=1tojif(jmodi=0)and(ij)thensum=suminextifj=sumthenprintsum&是完全数nextprint查找完毕beependsub7.10.从键盘上输入一个学生的学号和考试成绩,然后输出该学生的学号和考试成绩,并根据成绩按下面的规定输出对该学生的评语:成绩80~10060~7950~5940~490~39评语verygoodgoodfairpoorfailPrivateSubForm_Click()n=InputBox(请输入学号)s=InputBox(请输入分数)Ifs=80ThenPrint学号:;n;,;分数:;s;,;学生评语:;VeryGoodElseIfs=60Ands=79ThenPrint学号:;n;,;分数:;s;,;学生评语:;GoodElseIfs=50Ands=59ThenPrint学号:;n;,;分数:;s;,;学生评语:;FairElseIfs=40Ands=49ThenPrint学号:;n;,;分数:;s;,;学生评语:;PoorElseIfs=0Ands=39ThenPrint学号:;n;,;分数:;s;,;学生评语:;FailEndIfEndSub7.11.一个两位的正整数,如将它的个位数字与十位数字对调,则产生另一个正整数,我们把后者叫做前者的对调数。如给定一个两位的正整数,请找到另一个两位的正整数,值得这两个整数之和等于他们各自的对调数之和,例如,12+32=21+23.编写程序,输入一个两位的正整数,把具有这种特征的每一对两位正整数都找出来PrivateSubCommand1_Click()DimaAsStringDimiAsLonga=InputBox(输入一个两位的正整数:)IfVal(a)=0OrVal(a)=100ThenMsgBox输入不合法ExitSubEndIfFori=1To99IfVal(a)+i=Val(getDuiTiao(a))+getDuiTiao(CStr(i))ThenDebug.PrintiEndIfNextEndSubPrivateFunctiongetDuiTiao(ByValvStrAsString)AsStringDimstrTmpAsStringstrTmp=Right(CStr(vStr),1)&Left(CStr(vStr),1)getDuiTiao=strTmpEndFunction第八章8.4.从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换……第10个元素与第1个元素互换。分别输出数组原来各元素的值和对换后各元素的值。OptionBase1PrivateSubForm_Click()arr=Array(1,2,3,4,5,6,7,8,9,10)Print原来数组:Fori=1To10Printarr(i);NextiPrintFori=1To5Forj=6To10t=arr(i)arr(i)=arr(j)arr(j)=tNextjNextiPrint对换后数组:Fori=1To10Printarr(i);NextiEndSub8.5.设有如下两组数据。(1)2,8,7,6,4,28,70,25(2)79,27,32,41,57,66,78,80编写一个程序,把上面两组数据分别读入两个数组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,……,25+80,并把相应的结果放入第三个数组中,最后输出第三个数组的值。OptionBase1PrivateSubForm_Click()DimA,B,C(8)AsIntegerA=Array(2,8,7,6,4,28,70,25)B=Array(79,27,32,41,57,66,78,80)Fori=1To8C(i)=A(i)+B(i)NextiPrint第一个数组为:;Fori=1To8PrintA(i);NextiPrintPrint第二个数组为:;Fori=1To8PrintB(i);NextiPrintPrint第三个数组为:;Fori=1To8PrintC(i);NextiPrintEndSub8.7编写程序,把下面的数据输入到一个二维数组中:25367813122688937518223256443658然后执行以下操作:1)输出矩阵两个对角线上的数;2)分别输出各行和各列的和。3)交换第一行和第三行的位置。4)交换第二行和第四行的位置。5)输出处理后的数组。Dima(4,4),b(4,4)AsIntegerFori=0To3Forj=0To3a(i,j)=Val(InputBox(请输入第&i+1&行第&j+1&列的数))NextjNextiPrint原始数据Fori=0To3Printa(i,0)&&a(i,1)&&a(i,2)&&a(i,3)&和&Val(a(i,0)+a(i,1)+a(i,2)+a(i,3))NextiPrint和和和和Forj=0To3Print;Val(a(0,j)+a(1,j)+a(2,j)+a(3,j));NextjPrint'对角线Fori=0To3PrintTab(i*2);a(i,i)NextiPrintFori=0To3PrintTab((3-i)*2);a(i,3-i)NextiPrint'调整Forj=0To3b(2,j)=a(0,j)'第一行和第三行b(0,j)=a(2,j)b(1,j)=a(3,j)b(3,j)=a(1,j)NextjPrint调整后数据Fori=0To3Printb(i,0)&&b(i,1)&&b(i,2)&&b(i,3)Nexti8.8.设有如下人员名册:姓名性别年龄文化程度籍贯张得功男24大学本科河北李得胜男30高中毕业北京王丽女25研究生山东……试编写一个程序,对该名册进行检索。程序运行后,只要在键盘上输入一个人名,就可以在屏幕上显示出这个人的情况。例如,输入“张得功”,则显示:张得功男24大学本科河北要求:(1)使用动态数组,输入的人数可以根据实际情况改变。(2)当检索名册中不存在的人名时,输出相应的信息。(3)每次检索结束后,询问是否继续检索,根据输入的信息确定是否结束程序
本文标题:visualbasic程序设计教程-第四版-刘炳文编著-清华大学
链接地址:https://www.777doc.com/doc-2854863 .html