收藏 分销(赏)

VB程序设计题解.doc

上传人:二*** 文档编号:4542044 上传时间:2024-09-27 格式:DOC 页数:42 大小:230KB
下载 相关 举报
VB程序设计题解.doc_第1页
第1页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、湖南省计算机等级考试辅导VB程序设计题解 刘永逸编写 2007年上期湖南省计算机等级考试辅导VB程序设计题解第 42 / 42 页序号#问题#参考答案#题型1#输出1100中所有整数的平方和。 #328350#基本(正确答案:338350)Private Sub Form_Click() s = 0 For x = 1 To 100 s = s + x * x Next Print sEnd Sub2#求1210之间所有整数的立方和并输出结果。 #490844025#基本Private Sub Form_Click() s = 0 For m = 1 To 210 s = s + m 3 Ne

2、xt Print sEnd Sub3#求155的平方根的和。(保留小数点两位) #275.43#基本Private Sub Form_Click() s = 0 For x = 1 To 55 s = s + Sqr(x) Next Print Round(s, 2)End Sub4#求S=1+1/2+1/3+1/100。 #5.187388#基本Private Sub Form_Click() s = 0 For x = 1 To 100 s = s + 1 / x Next Print Round(s, 6)End Sub5#计算y=1+2/3+3/5+4/7+n/(2*n-1)的值, n

3、=50, 要求:按四舍五入的方式精确到小数点后第二位。 #26.47#基本Private Sub Form_Click() y = 0 For n = 1 To 50 y = y + n / (2 * n - 1) Next Print Round(y, 2)End Sub6#当m的值为50时,计算下列公式之值: t=1+1/22+1/32+1/m2 (按四舍五入的方式精确到小数点后第四位)。 #1.6251#基本Private Sub Form_Click() t = 0 For m = 1 To 50 t = t + 1 / m 2 Next Print Round(t, 4)End Su

4、b7#当m的值为50时,计算下列公式之值:t=1-1/(2*2)-1/(3*3)-1/(m*m) 要求:按四舍五入的方式精确到小数点后第四位。 #0.3749#基本Private Sub Form_Click() t = 1 For m = 2 To 50 t = t - 1 / (m * m) Next Print Round(t, 4)End Sub8#当n=50时,求下列级数和:S=1/(1*2)+1/(2*3)+1/(n*(n+1) 要求:按四舍五入的方式精确到小数点后第四位。 #0.9804#基本Private Sub Form_Click() s = 0 For n = 1 To

5、50 s = s + 1 / (n * (n + 1) Next Print Round(s, 4)End Sub9#求Y=1-1/2+1/3-1/4+1/5. 前30项之和。要求:按四舍五入的方式精确到小数点后第二位。 #0.68#基本Private Sub Form_Click() s = 0 For n = 1 To 30 Step 2 s = s + 1 / n - 1 / (n + 1) Next Print Round(s, 2)End Sub10#求数学式1-1/2+1/3-1/4+1/5-1/6+1/99-1/100的值。 (按四舍五入方式精确到小数点后4位) #0.6882#

6、基本Private Sub Form_Click() s = 0 For n = 1 To 100 Step 2 s = s + 1 / n - 1 / (n + 1) Next Print Round(s, 4)End Sub11#根据以下公式pi/2=1+1/3+1/3*2/5+1/3*2/5*3/7+1/3*2/5*3/7*4/9+求pi(pi为圆周率)的值(保留6位小数)。当最后一项的值小于0.0005时停止计算。#3.140578#基本(按题意,答案应为:3.141106。但按数学原理,应该是当最后一个乘积项的最后一个分数小于0.0005时,计算结果为pi的近似值,即程序中t0.00

7、05改为(n - 1) / (2 * n - 1)0.0005,这时结果为3.14159265358979)Private Sub Form_Click() s = 1 t = 1 For n = 2 To 1000 t = t * (n - 1) / (2 * n - 1) s = s + t If t 0.0005 Then Exit For End If Next Print 2 * sEnd Sub12#求10的阶乘。 #3628800#基本13#当n的值为25时,计算下列公式的值: s=1+1/1!+1/2!+1/3!+1/n! 要求:按四舍五入的方式精确到小数点后第四位。 #2.7

8、183#基本Private Sub Form_Click() s = 1 t = 1 For n = 1 To 25 t = t * n s = s + 1 / t Next Print Round(s, 4)End Sub或Private Sub Form_Click() s = 1 t = 1 For n = 1 To 25 t = t / n s = s + t Next Print Round(s, 4)End Sub14#计算s=2!+4!+6!+8!。#41066#基本Private Sub Form_Click() s = 0 t = 1 For n = 1 To 8 t = t

9、 * n If n Mod 2 = 0 Then s = s + t Next Print sEnd Sub或Private Sub Form_Click() s = 0 t = 1 For n = 2 To 8 Step 2 t = t * (n - 1) * n s = s + t Next Print sEnd Sub15#求1200之间能被7整除的数的平方和。 #377986#基本Private Sub Form_Click() s = 0 For x = 1 To 200 If x Mod 7 = 0 Then s = s + x * x Next Print sEnd Sub或Pr

10、ivate Sub Form_Click() s = 0 For x = 7 To 200 Step 7 s = s + x * x Next Print sEnd Sub16#计算1000以内,既能被6整除又能被8整除的数的个数。#41#基本Private Sub Form_Click() Print 1000 24 24是6和8的最小公倍数End Sub或Private Sub Form_Click() n = 0 For x = 1 To 1000 If x Mod 6 = 0 And x Mod 8 = 0 Then n = n + 1 End If Next Print nEnd S

11、ub17#求1到400间,同时能被3和7整除的数的个数。#19#基本同16题18#求351,432之间既不能被3整除,又不能被8整除的数的个数。#47#基本Private Sub Form_Click() n = 0 For x = 351 To 432 If x Mod 3 0 And x Mod 8 0 Then n = n + 1 End If Next Print nEnd Sub19#求10,1000之间满足除以7余5、除以5余3、除以3余1的所有整数的个数。 #9#基本Private Sub Form_Click() n = 0 For x = 10 To 1000 If x Mo

12、d 7 = 5 And x Mod 5 = 3 And x Mod 3 = 1 Then n = n + 1 End If Next Print nEnd Sub或if中的条件改为(x+2) Mod 105=020#求200到500间,能被13整除但不能被17整除的数的个数。 #21#基本Private Sub Form_Click() n = 0 For x = 200 To 500 If x Mod 13 = 0 And x Mod 17 0 Then n = n + 1 End If Next Print nEnd Sub21#求3000以内能被17或23整除的正整数的个数。 #299#

13、基本Private Sub Form_Click() n = 0 For x = 1 To 3000 If x Mod 17 = 0 Or x Mod 23 = 0 Then n = n + 1 End If Next Print nEnd Sub22#求500以内(含500)能被5或9整除的所有自然数的倒数之和。按四舍五入的方式精确到小数点后第二位。 #1.48#基本Private Sub Form_Click() s = 0 For x = 1 To 500 If x Mod 5 = 0 Or x Mod 9 = 0 Then s = s + 1 / x End If Next Print

14、 Round(s, 2)End Sub23#求s=1+3+5+7+.直到s3000为止。 #3025#基本Private Sub Form_Click() s = 0 For x = 1 To 10000 Step 2 s = s + x If s 3000 Then Exit For Next Print sEnd Sub24#求1到5000之间的能被5整除的前若干个偶数之和,直到和大于500为止。 #550#基本Private Sub Form_Click() s = 0 For x = 1 To 5000 If x Mod 5 = 0 And x Mod 2 = 0 Then s = s

15、 + x If s 500 Then Exit For End If Next Print sEnd Sub或Private Sub Form_Click() s = 0 For x = 10 To 5000 Step 10 s = s + x If s 500 Then Exit For Next Print sEnd Sub25#求1,5000内能被5整除的前若干个偶数之和,直到和大于50000为止。 #50500#基本类24题26#求出1到7000之间的能被5整除的前若干个偶数之和,当和值大于500时退出并输出和值。 #550#基本类24题27#求数列2,4,8,16,32,前若干项之和

16、。当和大于9000时,终止求和并输出结果。 #16382#基本Private Sub Form_Click() s = 0 For n = 1 To 100 s = s + 2 n If s 9000 Then Exit For Next Print sEnd Sub28#求在 1,2,3,.,100中, 任选两个不同的数,要求它们的和能被3和7整除的数的对数(注意:3+5和5+3认为是同一对数)。 #236#基本Private Sub Form_Click() n = 0 For x = 1 To 100 For y = x + 1 To 100 If (x + y) Mod 21 = 0

17、Then n = n + 1 End If Next Next Print nEnd Sub29#算年龄。用爷爷的年龄的5倍加6得的和,再乘以20,再加上奶奶的年龄,再减去365,得数为6924,又知爷爷比奶奶大2岁。求爷爷、奶奶的年龄的和。 #140#基本Private Sub Form_Click() x = 0 For x = 1 To 1000 If (5 * x + 6) * 20 + (x - 2) - 365 = 6924 Then Exit For End If Next Print x + (x - 2)End Sub30#宴会上一共有1225次握手,设每一位参加宴会的人对其

18、他与会人士都有一样的礼节,那么与会人士有多少? #50#基本Private Sub Form_Click() For n = 2 To 100 If n * (n - 1) = 2 * 1225 Then Exit For Next Print nEnd Sub31#已知 S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+N) ,当N的值为50时,求S的值。 要求:按四舍五入的方式精确到小数点后第四位。 #1.9608#基本Private Sub Form_Click() s = 0 t = 0 For n = 1 To 50 t = t + n s = s + 1 / t Nex

19、t Print Round(s, 4)End Sub32#已知S1=1, S2=1+2, S3=1+2+3,., SN=1+2+3+.+N, 求S1,S2,S3,.,S100 中, 有多少个能被3和7整除? #18#基本Private Sub Form_Click() k = 0 s = 0 For n = 1 To 100 s = s + n If s Mod 21 = 0 Then k = k + 1 Next Print kEnd Sub33#已知S1=1, S2=1+2, S3=1+2+3,.,SN=1+2+3+.+N, 求在S1,S2,S3,.,S100 中,所有能被3和7整除的数之

20、和. #31500#基本Private Sub Form_Click() k = 0 s = 0 For n = 1 To 100 s = s + n If s Mod 21 = 0 Then k = k + s Next Print kEnd Sub34#已知Sn=A1+A2+A3+.+An, 其中,当n为奇数时An=n-1,当n为偶数时,An=n+1.例如:S6=0+3+2+5+4+7, 求:S60=A1+A2+A3+.+A60. #1830#基本Private Sub Form_Click() s = 0 For n = 1 To 60 If n Mod 2 = 0 Then a = n

21、 - 1 Else a = n + 1 s = s + a Next Print sEnd Sub35#sum=d+dd+ddd+ddd.d(d为1-9的数字)。例如:3+33+333+3333(此时d=3,n=4)。从键盘上输入d 的值为8,n的值为9,求sum的值。 #864197523#基本(正确答案:987654312)Private Sub Form_Click() d = InputBox(d=) n = InputBox(n=) x = 0 s = 0 For k = 1 To n x = x * 10 + d s = s + x Print x, s Next Print sE

22、nd Sub36#求字符串87IM&2345kjwdssdcf中数,字母字符的ASCII码之和。 #1113#基本Private Sub Form_Click() t = 87IM&2345kjwdssdcf s = 0 For n = 1 To Len(t) c = Mid(t, n, 1) If c=A and c=a and c=z Then s = s + Asc(c) End If Print c, Asc(c), s Next Print sEnd Sub37#求字符串“This is my Basic”所有字符的ASCII码之和。 #1436#基本Private Sub Form

23、_Click() t = This is my Basic s = 0 For n = 1 To Len(t) c = Mid(t, n, 1) s = s + Asc(c) Print c, Asc(c), s Next Print sEnd Sub38#求一正整数等差数列的前六项的和,该数列前四项之和是26,四项之积是880。 #57#等差数列(本题可手工求解:880=2*2*2*2*5*11=2*5*8*11,知等差数列为:2、5、8、11、.)Private Sub Form_Click() For a1 = 1 To 6 For d = 1 To 12 a2 = a1 + d a3

24、= a1 + 2 * d a4 = a1 + 3 * d If a1 + a2 + a3 + a4 = 26 And a1 * a2 * a3 * a4 = 880 Then a5 = a1 + 4 * d a6 = a1 + 5 * d Debug.Print a1; a2; a3; a4; a5; a6 Debug.Print a1 + a2 + a3 + a4 + a5 + a6 End End If Next Next Print sEnd Sub注:结果输出在立即窗口中。39#求一正整数等差数列的前六项的平方和,该数列的前四项之和是26、之积是880。 #699#等差数列Privat

25、e Sub Form_Click() For a1 = 1 To 6 For d = 1 To 12 a2 = a1 + d a3 = a1 + 2 * d a4 = a1 + 3 * d If a1 + a2 + a3 + a4 = 26 And a1 * a2 * a3 * a4 = 880 Then a5 = a1 + 4 * d a6 = a1 + 5 * d Print a1; a2; a3; a4; a5; a6 Print a1 * a1; a2 * a2; a3 * a3; a4 * a4; a5 * a5; a6 * a6 Print a1 * a1 + a2 * a2 +

26、a3 * a3 + a4 * a4 + a5 * a5 + a6 * a6 d = 12: a = 6 End If Next Next Print sEnd Sub40#我国今年的国民生产总值为45600亿元,若今后每年以9%的增长率增长,计算多少年后能实现国民生产总值翻一番? #9#递推Private Sub Form_Click() x=1 或 45600 n=0 While x2 或 2*45600 n=n+1 x=1.09*x Print n,s Wend Print nEnd Sub41#猴吃桃:有一天小猴子摘下了若干个桃子,当即吃掉一半,还觉得不过瘾,又多吃了一个。第二天接着吃了

27、剩下的桃子中的一半,仍不过瘾,又多吃了一个。以后每天都是吃尚存桃子的一半零一个。到第10天早上小猴子再去吃桃子时,看到只剩下一个桃子了。问小猴子第一天共摘下了多少个桃子。 #1534#递推Private Sub Form_Click() x = 1 For n = 2 To 10 x = 2 * (x + 1) Print 11 - n, x Next Print xEnd Sub42#猴子第1天摘下若干桃子,当即吃掉一半,又多吃一个,第二天将剩余的部分吃掉一半还多一个;以此类推,到第10天只剩余1个。问第1天共摘了多少桃子。 #3070#递推(本题出题人认为第10天吃完后还剩下1个桃子,即第

28、11天还有最后1个桃子可吃)43#计算Y=X/1!-X3/3!+X5/5!-X7/7!+前20项的值(已知:X=2)。要求:按四舍五入的方式精确到小数点后第二位。 #0.91#递推Private Sub Form_Click() x = 2 t = x y = x For n = 3 To 40 Step 2 t = -t * x * x / (n - 1) / n y = y + t Next Print Round(y, 2)End Sub44#求表达式ex1xx2/2!+x3/3!+x4/4!+xn/n!的近似值,设x=9,n25; #8103.059#递推(答案在点小差别:8103.0

29、60)Private Sub Form_Click() x = 9 t = 1 s = 1 For n = 1 To 25 t = t * x / n s = s + t Next Print Format(s, #.000)End Sub45#求表达式ex1xx2/2!+x3/3!+x4/4!+xn/n!的近似值,直到最后一项小于0.01为止;设x9 #8103.081#递推Private Sub Form_Click() x = 9 t = 1 s = 1 For n = 1 To 100 t = t * x / n s = s + t If t 0.01 Then Exit For Ne

30、xt Print Format(s, #.000)End Sub46#用cos(x)1x2/2!+x4/4!-+(-1)(n)*(x(2n)/(2n)!的公式求近似值,设x9,n15 #-0.911208#递推(正确答案:-0.91114264)Private Sub Form_Click() x = 9 t = 1 s = 1 For n = 1 To 15 t = t * (2 * n - 1) * (2 * n) s = s + (-1) n * x (2 * n) / t Next Print sEnd Sub或Private Sub Form_Click() x = 9 t = 1

31、s = 1 For n = 1 To 15 t = -t * x * x / (2 * n - 1) / (2 * n) s = s + t If 1 Then Exit For Next Print sEnd Sub47#用cos(x)1x2/2!+x4/4!-+(-1)(n)*(x(2n)/(2n)!的公式求近似值,直到最后一项绝对值小于0.00001为止。设x7。 #0.753895#递推(正确答案:0.75390235)Private Sub Form_Click() x = 7 t = 1 s = 1 For n = 1 To 100 t = -t * x * x / (2 * n

32、- 1) / (2 * n) s = s + t If Abs(t) 2 ) 求f(0)到f(50)的所有51个值中的最大值 。#598325#递推Private Sub Form_Click() Dim f(100) As Variant f(0) = 1 f(1) = 1 f(2) = 0 Max = 1 For n = 3 To 50 f(n) = f(n - 1) - 2 * f(n - 2) + f(n - 3) If f(n) Max Then Max = f(n) Next Print MaxEnd Sub53#已知:f(0)=f(1)=1 f(2)=0 f(n)=f(n-1)-

33、2*f(n-2)+f(n-3) (n2) 求f(0)到f(50)中的最小值。 #-288959#递推Private Sub Form_Click() Dim f(100) As Variant f(0) = 1 f(1) = 1 f(2) = 0 Min = 0 For n = 3 To 50 f(n) = f(n - 1) - 2 * f(n - 2) + f(n - 3) If f(n) Min Then Min = f(n) Next Print MinEnd Sub54#已知一个数列的前3个数为1,2,3,以后每个数为前3个数的和,编程序求此数列的第35项。 #950439251#递推

34、Private Sub Form_Click() Dim f(100) As Variant f(1) = 1 f(2) = 2 f(3) = 3 For n = 3 To 35 f(n) = f(n - 3) + f(n - 2) + f(n - 1) Next Print f(35)End Sub55#金星和地球在某一时刻相对于太阳处于某一确定位置,已知金星绕太阳一周为225日,地球绕太阳一周为365日,问两个行星至少经过多少日仍同时回到原来的位置上? #16425#公倍数Private Sub Form_Click() n = 0 Do n = n + 1 Loop Until n Mo

35、d 225 = 0 And n Mod 365 = 0 Print nEnd Sub56#士兵在演练过程中,队伍变换成10、21、35、60行时,队形都能成为矩形。问参加演练的士兵最少有多少人? #420#公倍数Private Sub Form_Click() n = 0 Do n = n + 210 Loop Until n Mod 35 = 0 And n Mod 60 = 0 Print nEnd Sub57#求27090,21672,11352,8127的最大公约数。 #129#公约数Private Sub Form_Click() a = 27090 b = 21672 c = 11

36、352 d = 8127 For e = d To 1 Step -1 If a Mod e = 0 And b Mod e = 0 And c Mod e = 0 And d Mod e = 0 Then Exit For End If Next Print eEnd Sub58#从键盘输入两个数51211314和84131421,利用辗转相除法求它们的最大公约数。求需要经过多少次辗转。 #18#公约数(正确答案:10)Private Sub Form_Click() a = 84131421 b = 51211314 a = InputBox(Enter a number:) b = InputBox(Enter a number:) If a 0 r = a Mod b: a = b: b = r n = n + 1 Print n; a; b; r Wend Print nEnd Sub59#已知数组S(x)中数组元素的值与Cos(x)一一对应,100=X=200,用比较法对数组进行从小到大的排序,并求出排完序之后S(150)的值。 #-0.049#排序(正确答案:0.058)Private Sub Form_Click() Dim s(100 To 200) For x = 100 To 200

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服