VB编程题及答案_第1页
VB编程题及答案_第2页
VB编程题及答案_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 定义一个下标上界为 10整型数组,并用随机函数为其赋值(值处于 0,100之间 ),计算数组中所有偶数的和。Private Sub Commandl_Click()RandomizeDim a%(10)Dim i%, s%Fori = OTo 10 a(i) = 101 * Rnd()NextFori = OTo 10If a(i) Mod 2 = 0 Then s = s 4- a(i)End IfNextPrint ”所有偶数的和为”, s2 设 S=35, C=0. 3, 编写程序,计算并输出下面级数的部分和。结果取小数点后面 7 位。61!-C"3/3!+C"5

2、/5!-+(-1 厂(S- 1)*C “(2*ST)/(2*ST)!+ 参考答案如下:Private Sub Command l_Click()Dim n As IntegerDim x As Doublex = 0.3Dim item As DoubleDim sum As DoubleDim fac As DoubleFor n = 1 To 35fac = 1Dim i As IntegerFor i = lTo2*n-lfac = fac * iNextitem = (-1)人(n - 1) * x 八(2 * n - 1) / facsum = sum + itemNextsum =

3、 Int(sum * 10000000 + 0.5) / 10000000MsgBox (sum)End Sub' sum = 0.4794263 定义一个下标上界为 30的单精度数组,设置好其初值 (值处于 20, 90 ), 计算数组中所有元素的均值。Dim i, sum, ave As IntegerDim a(30) As SingleFor i = 0 To 30a(i) = 20+Int(Rnd() * 71)NextFor i = 0 To 30sum = sum + a(i)Nextave = sum / 31 print sum4在窗体上放置文本框 Textl、Tex

4、t2,放置一个按钮Comma nd在Textl里写入 一个整数,点击按钮时,对 Textl 内的数据进行判断,如果是偶数,则在 Text2 里显示“该数是偶数”。Dim x As In tegerx = Val(Textl.Text)IfxMod2 = 0ThenTText2.Text= ”该数是偶数”ElseText2.Text = 该数是奇数”End If5 输入一个三位数,分别输出它的百位数字、十位数字和个位数字。Dim a, baiwei, gewei, shiwei As Integer a = Val(InputBox( ,M) gewei = a Mod 10 baiwei= a

5、 100 shiwei = (a 10) Mod 10MsgBox(gewei) MsgBox(shiwei)6. 计算 sum=2+4+6+. +1000Dim sum, i As IntegerFor i = 2 To 1000 Step 2 sum = sum + iNext print sum7求下面级数前S项中奇数项的和sum在求和过程中,以第一个奇数项的数值 大于 10000 的项为末项。1!-2!+3!- 4!+ +(-1) ”(ST)*S! +参考答案如下:Private Sub Commandl_Click()Dim n As IntegerDim item As Doubl

6、eDim i As IntegerDim sum As DoubleDim fac As Doublesum = 0n = 1Do While Trueitem = 1For i = 1 To nitem = item * iNext i sum = sum + itemIf Abs(item) > 10000 ThenExit DoElsen = n + 2 End IfLoopMsgBox (sum)End Sub8.己知A、B为整数,A和B的立方和为1000,求所有的A、B。Dim x, y As IntegerFor x = OTo 10For y = OTo 10Ifx A3

7、+ yA3 = 1000 Then MsgBox(x ” & y)End If NextNext9建立一个5X5的整型二维数组,由Rnd函数产生25, 95)的随机整数对该 数 组赋初值,输出数组中的最大元素。参考答案如下:Dim A(4, 4) As IntegerDim i, j As IntegerFor i = 0 To 4For j =0To4A(i,j) = 25+Int(Rnd()*71)NextNextDim max As Integermax = A(0, 0)For i = 0 To 4For j =0To4If A(i, j) > max Then max

8、= A(i, j) End IfNext10. 的项为末项,计算并输出和SUM 1!-2!+3!- 4!+(-1广(s-l)*s!+Private Sub Command l_Click()Dim n As IntegerDim item As DoubleDim sum As Double sum = 0n = 2Do While True item = 1 Dim i As Integer For i = 2Ton item = item * iNextsum = sum + item If item > 10000 Then Exit DoElsen = n + 2End IfLo

9、opsum = -l*sumMsgBox (sum)End Sub'sum = 36804711. 建立一个9X9的整型二维数组(由Rnd函数产生10, 60)的随机整数对数 组初始化 ) ,输出数组中所有奇数行元素的和。Dim A(8, 8) As IntegerDim i, j As IntegerFori = OTo 8Forj =0To8A(i,j) = 10+Int(Rnd() *51)NextNextDim sum As IntegerFor i = 0 To 8 Step 2Forj = 0 To 8 sum = sum + A(i, j)NextNextText I.T

10、ext = sum'Af有奇数行元素的和为:50612. 编写一个函数,判断某整数是否为素数。调用该函数,输出区间1000 , 2000 内所有素数的和。Private Function isprime(ByVal n As Integer) As BooleanDim i As IntegerFor i = 2 To n - 1 If n Mod i = 0 Then isprime = False Exit FunctionEnd IfNext isprime = TrueEnd FunctionPrivate Sub Commandl_Click()Dim i As Intege

11、rDim sum As LongFor i= 1000 To 2000If isprime(i) = True Then sum = sum + i End If Next Text 1.Text = "sum= n & sum End Sub*sum= 41968413. 编写一个函数,求某个数的阶乘。调用该函数计算 22! 。Public Function fact(ByVal n As Integer) As LongDim i As Integer, f As Longf= 1For i = 1 To n f = f * iNext i fact = fEnd Fun

12、ctionPrivate Sub Commandl_Click()Dim m As Integer, i As Integer, s As Longm = InputBox(* 输入一个正整数:”)s = fact(m)MsgBox (s)End Sub 47900160014. 编写子过程,计算并输出 3000-4000 之间的素数之和 C 与其中最小的素 数 MINoPrivate Sub Commandl_Click()Dim sum, i, min As Integermin=0For i = 3000 To 4000Dim isprime As Boolean = TrueDim j

13、 As IntegerForj = 2Toi- 1If i Mod j = 0 Then isprime = False Exit ForEnd IfNextIf isprime = True ThenIf min = 0 Thenmin = iEnd IfIf i<min Thenmin=iEnd IfC = C + iEnd IfNextMsgBox(sum)MsgBox(min)End Sub'sum=1617104 mi=1600115. 定义下标上界为35的整型数组,并赋初值(用Rnd函数初始化数组,使各 个元素的值处于 200, 300 之间 ),求数组中所有不大于

14、350 的元素之 和。Dim a(35), i, sum As IntegerFor i = 0 To 35a(i) = 200+Int(Rnd() * 101)NextFor i = 0 To 35If a(i) <=350 Then sum = sum + a(i)End IfNextprint sum16 编写函数,计算 S=l/l!+l/3!+l/5!+. +1/9!Private Function Fact(ByVal x As Integer) As IntegerDim sum, i, f As Doublef= 1For i = 1 To 9f=f*iIf i Mod 2

15、= IThensum = sum + 1/fEnd IfNextFact = sumEnd Function17 编写一个函数 (参数为一维整型数组 ) ,求所有数组元素中最小值的下标。Public Function max(ByRef a() As Integer) As IntegerDim t As Integer t = 0Dim i As IntegerFor i = 1 To UBound(a)If a(i) < a(t) Then t = iEnd IfNextmax = tEnd Function18计算并输出下面级数中奇数项的和SUM要求在第一次出现SUM勺绝对值大于

16、100 时结束。 1*2-2*3+3*42*5+ . + (-1) " (m-l)*m*(m+l)+Private Sub Command l_Click()Dim sum As LongDim item As LongDim n As Integern = 1Doitem = (-1) 八 ( n - 1) * n * (n + 1)sum = sum + itemn = n + 2Loop While Abs(sum) <= 100MsgBox (sum)End Sub'sum=-6819 编写一个函数,其功能为求两个数的最大公约数。Public Function

17、gcd(ByVai m As Integer, ByVai n AsInteger) As IntegerDim i As IntegerIf m > n ThenDim t As Integert = m: m=n: n=tEnd IfFor i = m To 1 Step -1If m Mod i = 0 And n Mod i = 0 Thengcd = iExit FunctionEnd IfNextEnd Function20.用 InputBox 输入一个年份,判断该年份是否是平年,若是则输出“ Yes”, 否则输出“ No”。Dim year As Integeryear

18、= VaI(InputBox("")If (year Mod 400 = 0) Or (year Mod 4 = 0 And year Mod 10000) ThenMsgBox ("No")ElseMsgBox("Yes")End If21输入两个整数m n,编写程序使得m>=n并输出m n的值Dim m, n As Integerm = Vai (InputBox("")n = Vai (InputBox("")If m < n ThenDim t As Integert = m

19、:m = n:n = tEnd IfMsgBox("m=" & m & & "n="& n)22求下面级数前n项的和S,在求和过程中,当某项(注意,该项参与求和)的 绝对值小于 0. 0001 时求和终止。结果取 5 位小数。1-1/3+1/5-1/7+1/9-1/11+(-1)*( n-l)*l/(2 n-l)+Private Sub Commandl_Click()Dim n As IntegerDim item As DoubleDim sum As Doublei = 1Do While Trueitem 二(-1

20、)人(i - 1) * 1 / (2 * i - 1)sum = sum + itemIf Abs(item) < 0. 0001 ThenExit DoElsei = i + 1End IfLoopMsgBox (Form at(sum, ” 0.000)0 ”)End Sub'sum=0.7854523 编写一个函数,其功能为判断一个 3 位正整数是否是水仙花数 "。(水仙 花 数"是指各位数字的立方和与该数相等,如 153=3+5"3+3"3, 153 就是水仙 花 数。 )Public Function Panduan(ByVal

21、x As Integer) As BooleanDim a As Integer, b As Integer, c As Integera= x 100b = (x Mod 100) 10c = x Mod 10 Ifx = a A3 + bA3 + cA3 ThenPanduan = TrueElsePanduan = FalseEnd IfEnd FunctionPrivate Sub Commandl_Click()Dim i As Integeri = InputBoxC 输入一个 3 位正整数:”)MsgBox (Panduan )End Sub24 定义一个下标上界为 10整型数组

22、,并为其赋值 (值处于 0, 100 之间), 计算数组中所有不小于 60 的数据的和。Dim a(10), i, sum As IntegerFor i = 0 To 10a(i) = Int(Rnd() * 101)NextFor i = 0 To 10If a(i) =60 Thensum = sum + a(i) End IfNextprint sum25.编写程序,求下面级数前 n 项的和 s=l/l!-l/2!+l/3!-l/4!+.+(-l)A(n-1)*1/n!+ .。,求和过程当某一项的绝对值小于 0.0001 时结束 (注意,该项参与求和 ) ,计算并输出所求 的 s, 要

23、求结果保留 6 位小数。Private Sub Commandl_Click()Dim m As Double, n As Long, s As Double, f As Integers = 0: n = -1: m = 1: f = 1Do While l/m>= 0.0001m = m * f f=f+ 1n = -ns = s + n / mLoops = Format(s, n0.000000n)Print sEnd Sub26 输入一个四位数,分别输出它的个位数字,是十位数字,百位数字,千位数字。Private Sub Commandl_Click()Dim a%, j%,

24、k%, i%, m%a = InputBox(" 请输入一个四位整数” )j = a 1000k= a 100 Mod 10i = a 10 Mod 10m = a Mod 10Print ”个位数字 ; ”; mPrint 十”位数字 ; ”;iPrint 百”位数字 ; ” ;kPrint 千”位数字 ; ”;jEnd Sub6. 计算 sum=2!+4!+6!+.+10!Private Sub Command l_Click()Dim a%, i%Sum = 0i = 1: a = 1Do a = 2*iIfiMod2 = 0ThenSum = Sum + aEnd Ifi =

25、 i+ 1Loop While i <= 10Print SumEnd Sub27 编写程序,计算并输出下面级数前1>项( n=20 ) 中奇数项的和。 l*2*3-2*3*4+3*4*5-4*5*6+.? +(4)A(n ? l)*n*(n+l)*(n+2)+.Private Sub Command l_Click()Dim s!, i%For i = 1 To 20 Step 2 s = s + i*(i + l)*(i + 2)NextMsgBox (s)End Sub28 随机输出一个小写字母。Private Sub Commandl_Click()Dim a As Str

26、ingRandomizea = Chr(Int(97 + 26 * Rnd)MsgBox (a)End Sub>29编写程序,计算并输岀下面级数前n项(n=50)中偶数项的和。S=l*2+2*3+3*4+4*5+.+n*(n+1) +?.Private Sub Commandl_Click()Dim s!, i%Fori = 2To 50 Step 2s = s + i*(i + l)NextMsgBox (s)End Sub1 、 1, 以后的每一项30 斐波那契数列是由计算某类动物繁殖增长量而提岀的。数列的前两项是 都是其相邻前两项的和。编写程序求:数列前 30 项和。Private

27、 Sub Commandl_Click()Dim a&, b&, c&, i%a=l:b=l:c = 2: Sum = 0Fori= ITo 28 c = a + b a = b b = cSum = Sum + cNextMsgBox (Sum)End Sub31输入三个数a、b、c,编写程序使得a<=b<=c,并输岀a、b、c的值Private Sub Commandl_Click()Dim a%, b%, c%, t%a = Val(InputBox(" 请输入 a 的值! ”)b = Val(InputBox( nif 输入 b 的值!”)

28、c = Val(InputBox(" 请输入 c 的值! ”)If a> b Thent = bb = aa = tEnd IfIf a> cThent = aa = cc = tEnd IfIf b > c Thent = bc = tEnd IfPrint a, b, c5 位小数。End Sub32 编写程序,设 n=20, x=3.4, 计算并输出 S(n) 的值,要求结果保留S(n)=lnx/x+ln2x/x A2+In3x/x A34-?-+In(n*x)/x An +?.Private Sub Commandl_Click()Dim x#, i%Dim

29、 S(20) As Doublen = 20x = 3.4Fori= lTo 20S(20) = S(20) + Log(i * x) / (x 八 i)NextPrint Format(S(20), ” 0.00000 ”)End Sub33 输入任意三个数找出其中最大的数 Private Sub Commandl_Click() Dim a!, b!, c!, Max!a = Textl.Textb = Text2.Textc = Text3.TextMax = alf b > Max Then Max = blf c > Max Then Max = cText4.Text

30、= MaxEnd Sub输出 1到 100 之间的素数Print 1; 2;a = 3While a <= 100i = 2While i < alf a Mod i = 0 Theni = aEnd lfi = i+ 1Wendlf i = a ThenPrint a;End lf a = a + 1Wend>34 打印斐波那契数列 20 项 Pr i vate sub form_cI i ck() A=0B=1Textl. text二 text 1. text&str (A) &str (B) &chr (13) & Chr (10)For

31、 i=1 to 9A=A+B B = A+BTextl. text二 textl. text&str (A) &str (B) &chr (13) & Chr (10)Next i35 判定素数A=val(inputbox( 44input a")For i=2 to a If(a mod i=0) then Exit for End if Next iIf i<a then print " no" else print "yes" End sub36 求 sum l+(l+2)+(l+2+3) . n =

32、 Val(Textl.Text) sum = 0 For i = 1 To n suml = 0 Forj = IToi suml = suml + j Next j sum = sum + sumlNext i Text2.Text = sum37 求 50 名学生的平均成绩并统计高于平均分的人Dim c(l to 50) as integerDim p!,n%,i%P=0For i=l to 50C(i)=inputbox ( “请输入第” &i& ”位学生的成绩” P=p+c Next iP=p/50N=0For i= 1 to 50If c(i) >p then

33、n=n+lNext iPrint " 平均分”高于平均分的人数=” ;n138设C=0.3,编写程序,计算并输岀下面级数的部分和。结果取小数点后面7位。C/1!-C"3/3!+C"5/5!+ (-1)" (ST)*C" (2*ST)/(2*S 1)!+Dim n as integerDim x as integerX=0.3Dim item as doubleDim sum as doubleDim fact as doubleFor n=l to 35Fact=lDim I as integerFori =1 to 2*n-lFact=fac

34、t*iNextItem =(-l) A(n-l)*x A(2*n-l)/factSum=sum+itemNextSum=int(sum*10000000+0,.5)/100000000Magbox39已知A、B为整数A和B的立方和为1000求所有的A、B。Dim x ,y as integerFor x=0 tolOFor y=0 tolOIfxA3+yA3=1000 thenMsgbox(x=;y=)所有元素40 定义一个下标上界为 30 的单精度数组,设置好其初值 ( 值处于 20, 90), 计算数组中 的均值。Dim array (30) as singleFor i=0Array(i

35、)=20+int(md()*71)Next iDim sum%For i=0 to 30Sum=sum+array(i)Next iPrint sum 31End sum41求下面级数前S项中奇数项的和sum。在求和过程中,以第一个奇数项的数值大于 1!-2!+3!-4!+ +( 一 1 广(S-L)*S! + Dim n as integerDim item doubleDim I as integerDim sum as doubleDim abs as doubleDo while trueItem = 1For I =1 to nItem = item* 1Next iSum=sum

36、+itemN=n+2If abs (item)>10000 thenExit doElseN=n+2End ifLoopMsgbox(sum)42 计算 sum=l/l!+l/2!+l/3!+l/10!Private Sub Commandl_Click()Dim m As Integer, n As Long, s As Doublen = 1s = 0For m = 1 To 10 n = n * m s = s + 1 / n NextPrint s 42求从:j,s区间内的素数及素数和(这里需要用到三个文本框和Commandl_Click()Dim n%, i%, j%, s%S

37、um = 0j = Val(Textl.Text()s = Val(Text2.Text()For n = j To s10000 的项为末项2 个按钮 ) 'Private SubFor i = 2 To n - 1If n Mod i = 0 Then Exit ForNext iIf i > n - 1 Then Sum = Sum + n: Print nNext nText 3.Text = SumEnd SubPrivate Sub Command2_Click()CisText 1.Text =""Text2.Text ="Text3.

38、Text =""Textl.SetFocusEnd Sub43某分段函数描述如下:(1)当x为偶数时,y的值为x的二分之一。(2)当x为奇数时,y的值 为 x 的二倍。Private Sub Command l_Click()Dim x!, y!x = Val(InputBox ( ”请输入 X 的值! ”)If x Mod 2 = 0 Theny = x / 2Elsey = 2* xMsgBox (y)End IfEnd Sub44 随机输出一个小写字母。Private Sub Commandl_Click()Dim a As StringRandomizea = Ch

39、r(Int(97 + 26 * Rnd)MsgBox (a)End Sub>45编写程序,计算并输岀下面级数前n项(n=50)中偶数项的和 °=l*2+2*3+3*4+4*5+.+n*(n+1) +?.Private Sub Command l_Click()Dim s!, i%Fori = 2To 50 Step 2s = s + i * (i + 1)NextMsgBox (s)End Sub46编写程序,设n=20, x=3.4,计算并输岀S(n)的值,要求结果保留5位小数。S(n)=lnx/x+ln2x/x A2+In3x/x A34-?-+In(n*x)/x An +

40、?.Private Sub Commandl_Click()Dim x#, i%Dim S(20) As Doublen = 20x = 3.4Fori = 1T O20S(20) = S(20) + Log(i * x) / (x 八 i)NextPrint Format(S(20),”0.)00000 ”End Sub47设S=35, C=0.3,编写程序,计算并输出下面级数的部分和。结果取小数点 后面 7 位。61!-C"3/3!+C"5/5!-+(T) ”(ST)*C" (2*S -1)/(2*S-1) ! +参考答案如下:Private Sub Commandl_Click()Dim n As lntegerDim x As Doublex = 0.3Dim item As DoubleDim sum As DoubleDim fac As DoubleFor n = 1 To 35fac = 1Dim i As lnteger For i = lTo2*n-l fac = fac * iNextitem = (-1)人(n - 1) * x 人(2 * n - 1) / facsum

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论