当前位置:文档之家› VB程序设计课后习题答案(科学出版社)

VB程序设计课后习题答案(科学出版社)

同步练习1二、选择题01——05 CADAB06——10 ACDAB11——15 CBDBB同步练习2二、选择题01——05 ABDCA06——10 CACBC11——15 DADAD16——20 BDBBB三、填空题1.可视2.LEFT、TOP、WIDTH、HEIGHT3.按字母顺序4.查看代码5.工具、编辑器6.FORM窗体、FONT7.MULTILINE8.在运行时设计是无效的9.工程、工程属性、通用、FORM1.SHOW 10.TABINDEX、0同步练习3二、选择题01——05 BCADB06——10 ADBBC11——15 DBCBA16——20 BAABB三、填空题1.整型、长整型、单精度型、双精度型2.SIN(30*3.14/180)+SQR(X+EXP(3))/ABS(X-Y)-LOG(3*X) 3.164、今天是:3-194.FALSE5.-4、3、-3、3、-4、46.CDEF7.(X MOD 10)*10+X\108.(35\20)*20=20( 35 \ 20 )* 20 = 209.X MOD 3=0 OR X MOD 5=010.27.6、8.2、8、1、100、397、TRUE、FALSE同步练习4一、选择题01——05 DBCAD06——10 CBBAB11——15 D25BAC16——20 CBACB21——25 DAABC二、填空题1.正确性、有穷性、可行性、有0个或多个输入、有1个或多个输出2.1 2 33.X>=74.X<AMIN5.10246.117.128.6、I、”*”;9.0、100、I+110.2*I、6、”*”;三、编程题1.编程求n!,n从键盘输入。

Private Sub Form_Click()Dim n%, s%, i%n = Val(InputBox("请输入n的值:"))s = 1For i = 1 To ns = s * iNext iPrint n; "!="; sEnd Sub2.编程求100以内的全部质数。

Private Sub Form_Click()Dim i%, k%, n%, y$For n = 1 To 100k = Int(Sqr(n))For i = 2 To kIf n Mod i = 0 Then Exit ForNext iIf i > k Theny = y & Str(n)End IfNext nMsgBox y, , “显示质数"End Sub3.编写程序,计算1+2+…+100的值。

Private Sub Form_Click()Dim i%, s%s = 0For i = 1 To 100Next iPrint "1+2+3+…+100="; sEnd Sub4.百元买百鸡。

假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。

(采用穷举法)假设母鸡、公鸡、小鸡各为x、y、z,列出方程为:x+y+z=1003x+2y+0.5z = 100Private Sub Form_Click()Dim x%, y%, z%Print "母鸡", "公鸡", "小鸡"For x = 0 To 33For y = 0 To 50z = 100 - x - yIf 3 * x + 2 * y + 0.5 * z = 100 ThenPrint x, y, zEnd IfNext yNext xEnd Sub5.给定三角形的3条边的边长,计算三角形的面积。

编写程序,首选判断的3条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。

当输入-1时结束程序。

Private Sub Form_Click()Dim a%, b%, c%, s!, p!Do Until a = -1 Or b = -1 Or c = -1a = Val(InputBox("a="))b = Val(InputBox("b="))c = Val(InputBox("c="))If a + b > c And a + c > b And b + c > a Thenp = (a + b + c) / 2s = Sqr(p * (p - a) * (p - b) * (p - c))Print "s="; sEnd IfLoopEnd Sub6.编程打印如下图所示的数字金字塔。

Private Sub Form_Click()Dim i%, j%For i = 1 To 8Print Tab(9 - i);For j = 1 To 2 * i - 1Print Trim(Str(i));PrintNext iEnd Sub7.勾股定理中3个数的关系是:a*a+b*b=c*c。

编写程序,输出30以内满足上述关系的整数组合,例如3、4、5就是一个整数组合。

Private Sub Form_Click()Dim i%, j%, k%For i = 1 To 30For j = 1 To 30For k = 1 To 30If i ^ 2 + j ^ 2 = k ^ 2 ThenPrint i, j, kEnd IfNext kNext jNext iEnd Sub8.如果一个三位数3个数字的立方和等于该数本身,称为水仙花数。

例如153就是一个水仙花数:13+53+33=153。

编写程序,显示所有三位的水仙花数。

Private Sub Form_Click()Dim x%, a%, b%, c%For x = 100 To 999a = x \ 100b = (x Mod 100) \ 10c = x Mod 10If a ^ 3 + b ^ 3 + c ^ 3 = x ThenPrint xEnd IfNext xEnd Sub9.税务部门征收所得税,规定如下:(1)收入200元以内,免征;(2)收入在200~400元内,超过200元的部分纳税3%;(3)收入超过400元的部分,纳税4%;(4)当收入达5000元或超过时,将4%改为5%。

编程实现上述操作。

Private Sub Form_Click()Dim x%, y!x = Val(InputBox("请输入收入额:"))Select Case xCase Is < 200y = 0Case 200 To 400y = (x - 200) * 0.03Case 400 To 4999y = (x - 400) * 0.04Case Is >= 5000y = (x - 400) * 0.05End SelectPrint "y="; yEnd Sub10.编写一程序根据上网时间计算上网费用,计算方法如下:50元(<10小时)网费= 每小时6元(10~60小时)每小时4元(>=60小时)同时为了鼓励多上网,每月收费最多不超过200元。

Private Sub Form_Click()Dim t!, s!t = Val(InputBox("请输入上网小时数"))Select Case tCase Is < 10s = 50Case 10 To 59s = 6 * tIf s > 200 Then s = 200Case Is >= 60s = 4 * tIf s > 200 Then s = 200End SelectPrint "上网费用为"; s; "元。

"End Sub11.编写一个程序,当输入月份时,输出季节的名称。

例如,当输入月份为12、1和2时,输出“冬季”;当输入月份为3、4、5时,输出“春季”;当输入月份为6、7、8时,输出“夏季”;当输入月份为9、10、11时,输出“秋季”;当输入其他数字时,输出“输入错误,请重新输入!”。

Private Sub Form_Click()Dim m%m = Val(InputBox("请输入月份:"))Select Case mCase 12, 1, 2Print "冬季"Case 3, 4, 5Print "春季"Case 6, 7, 8Print "夏季"Case 9, 10, 11Print "秋季"Case ElsePrint "输入错误,请重新输入!"End SelectEnd Sub12.分别利用If语句、Select Case语句,设计计算下列分段函数的程序。

2x-1 (x<0)f(x)= 4x (x=0)7x-5 (x>0)Private Sub Form_Click()Dim x!, f!x = Val(InputBox("请输入x的值:"))Select Case xCase Is < 0f = 2 * x - 1Case 0f = 4 * xCase Is > 0f = 7 * x - 5End SelectPrint fEnd Sub同步练习5一、选择题01——05 DCACD06——10 DBCDC11——15 BADAD二、填空题1.NAME、INDEX2.PRESERVE3.V ARIANT4.N(2)=2N(3)=35.1 2 3 1 4 16.1 2 3 2 4 67.MAX、MAX=ARR1(I)三、编程题1.从键盘上输入10整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即第1个元素与第10个元素互换,第2个元素与第9个元素互换,……,第5个元素与第6个元素互换。

输出数组为原来各元素的值和对换后各元素的值。

Private Sub Form_Click()Dim a(1 To 10)For i = 1 To 10a(i) = Val(InputBox("请输入第" & i & "个数"))Next iPrint "原来各元素的值:"For i = 1 To 10Print a(i);If i Mod 5 = 0 Then PrintNext iFor i = 1 To 5temp = a(i)a(i) = a(10 - i + 1)a(10 - i + 1) = tempNext iPrint "对换后各元素的值"For i = 1 To 10Print a(i);If i Mod 5 = 0 Then PrintNext iEnd Sub2.设有如下两组数据。

相关主题