VB编程题及答案

  • 格式:doc
  • 大小:91.00 KB
  • 文档页数:20

1定义一个下标上界为10整型数组,并用随机函数为其赋值(值处于[0,100]之间),计算数组中所有偶数的和。

Private Sub Command1_Click()RandomizeDim a%(10)Dim i%, s%For i = 0 To 10a(i) = 101 * Rnd()NextFor i = 0 To 10If a(i) Mod 2 = 0 Thens = s + a(i)End IfNextPrint "所有偶数的和为", s2设 S=35,C=0.3,编写程序,计算并输出下面级数的部分和。

结果取小数点后面7位。

C/1!-C^3/3!+C^5/5!- … +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ …参考答案如下:Private Sub Command1_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 = 1 To 2 * n - 1fac = fac * iNextitem = (-1) ^ (n - 1) * x ^ (2 * n - 1) / facsum = sum + itemNextsum = 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 / 31print sum4 在窗体上放置文本框Text1、Text2,放置一个按钮Command1。

在Text1里写入一个整数,点击按钮时,对Text1内的数据进行判断,如果是偶数,则在Text2里显示“该数是偶数”。

Dim x As Integerx = Val(Text1.Text)If x Mod 2 = 0 Then TText2.Text = "该数是偶数"ElseText2.Text = "该数是奇数"End If5 输入一个三位数,分别输出它的百位数字、十位数字和个位数字。

Dim a, baiwei, gewei, shiwei As Integera = Val(InputBox(""))gewei = a Mod 10baiwei= a \ 100shiwei = (a \ 10) Mod 10MsgBox(gewei)MsgBox(shiwei)6. 计算sum=2+4+6+...+1000Dim sum, i As IntegerFor i = 2 To 1000 Step 2sum = sum + iNextprint sum7 求下面级数前S项中奇数项的和sum。

在求和过程中,以第一个奇数项的数值大于 10000 的项为末项。

1!-2!+3!-4!+ … +(-1)^(S-1)*S!+ …参考答案如下:Private Sub Command1_Click()Dim n As IntegerDim item As DoubleDim i As IntegerDim sum As DoubleDim fac As Doublesum = 0n = 1Do While Trueitem = 1For i = 1 To nitem = item * iNext isum = sum + itemIf Abs(item) > 10000 ThenExit DoElsen = n + 2End IfLoopMsgBox (sum)End Sub8. 已知A、B为整数,A和B的立方和为1000,求所有的A、B。

Dim x, y As IntegerFor x = 0 To 10For y = 0 To 10If x ^ 3 + y ^ 3 = 1000 ThenMsgBox(x & " " & y)End IfNextNext9建立一个 5×5的整型二维数组,由Rnd函数产生[25,95)的随机整数对该数组赋初值,输出数组中的最大元素。

参考答案如下:Dim A(4, 4) As IntegerDim i, j As IntegerFor i = 0 To 4For j = 0 To 4A(i, j) = 25+Int(Rnd() * 71)NextNextDim max As Integermax = A(0, 0)For i = 0 To 4For j = 0 To 4If A(i, j) > max Thenmax = A(i, j)End IfNext10.的项为末项,计算并输出和SUM。

1!-2!+3!-4!+ … +(-1)^(s-1)*s!+ ……Private Sub Command1_Click()Dim n As IntegerDim item As DoubleDim sum As Doublesum = 0n = 2Do While Trueitem = 1Dim i As IntegerFor i = 2 To nitem = item * iNextsum = sum + itemIf item > 10000 ThenExit DoElsen = n + 2End IfLoopsum = -1*sumMsgBox (sum)End Sub'sum = 36804711.建立一个9×9的整型二维数组(由Rnd函数产生[10,60)的随机整数对数组初始化),输出数组中所有奇数行元素的和。

Dim A(8, 8) As IntegerDim i, j As IntegerFor i = 0 To 8For j = 0 To 8A(i, j) = 10+Int(Rnd() *51)NextNextDim sum As IntegerFor i = 0 To 8 Step 2For j = 0 To 8sum = sum + A(i, j)NextNextText1.Text = sum'所有奇数行元素的和为:50612.编写一个函数,判断某整数是否为素数。

调用该函数,输出区间[1000,2000] 内所有素数的和。

Private Function isprime(ByVal n As Integer) As BooleanDim i As IntegerFor i = 2 To n - 1If n Mod i = 0 Thenisprime = FalseExit FunctionEnd IfNextisprime = TrueEnd FunctionPrivate Sub Command1_Click()Dim i As IntegerDim sum As LongFor i = 1000 To 2000If isprime(i) = True Thensum = sum + iEnd IfNextText1.Text = "sum=" & sumEnd Sub'sum= 41968413.编写一个函数,求某个数的阶乘。

调用该函数计算22!。

Public Function fact(ByVal n As Integer) As LongDim i As Integer, f As Longf = 1For i = 1 To nf = f * iNext ifact = fEnd FunctionPrivate Sub Command1_Click()Dim m As Integer, i As Integer, s As Longm = InputBox("输入一个正整数:")s = fact(m)MsgBox (s)End Sub‘47900160014.编写子过程,计算并输出3000-4000之间的素数之和C与其中最小的素数MIN。

Private Sub Command1_Click()Dim sum, i, min As Integermin=0For i = 3000 To 4000Dim isprime As Boolean = TrueDim j As IntegerFor j = 2 To i - 1If i Mod j = 0 Thenisprime = FalseExit 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]之间),求数组中所有不大于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 Thensum = sum + a(i)End IfNextprint sum16编写函数,计算S=1/1!+1/3!+1/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 = 1 Thensum = sum + 1/fEnd IfNextFact = sumEnd Function17编写一个函数(参数为一维整型数组),求所有数组元素中最小值的下标。

Public Function max(ByRef a() As Integer) As IntegerDim t As Integert = 0Dim i As IntegerFor i = 1 To UBound(a)If a(i) < a(t) Thent = iEnd IfNextmax = tEnd Function18计算并输出下面级数中奇数项的和SUM,要求在第一次出现SUM的绝对值大于100时结束。