VB编程题及答案_vb编程题及答案
VB编程题及答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“vb编程题及答案”。
1定义一个下标上界为10整型数组,并用随机函数为其赋值(值处于[0,100]之间),计算数组中所有偶数的和。Private Sub Command1_Click()Randomize Dim a%(10)Dim i%, s% For i = 0 To 10 a(i)= 101 * Rnd()Next For i = 0 To 10 If a(i)Mod 2 = 0 Then s = s + a(i)End If Next Print “所有偶数的和为”, s 2 设 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 Integer
Dim x As Double
x = 0.3
Dim item As Double
Dim sum As Double
Dim fac As Double
For n = 1 To 35
fac = 1
Dim i As Integer
For i = 1 To 2 * n1)* x ^(2 * n1
If n Mod i = 0 Then
isprime = False
Exit Function
End If
Next
isprime = True End Function Private Sub Command1_Click()
Dim i As Integer
Dim sum As Long
For i = 1000 To 2000
If isprime(i)= True Then
sum = sum + i
End If
Next
Text1.Text = “sum=” & sum End Sub 'sum= 419684 13.编写一个函数,求某个数的阶乘。
调用该函数计算22!。
Public Function fact(ByVal n As Integer)As
Long
Dim i As Integer, f As Long
f = 1
For i = 1 To n
f = f * i
Next i
fact = f End Function Private Sub Command1_Click()
Dim m As Integer, i As Integer, s As Long
m = InputBox(“输入一个正整数:
”)
s = fact(m)
MsgBox(s)End Sub ‘479001600 14.编写子过程,计算并输出3000-4000之间的素数之和C与其中最小的素数MIN。
Private Sub Command1_Click()
Dim sum, i, min As Integer
min=0
For i = 3000 To 4000
Dim isprime As Boolean = True
Dim j As Integer
For j = 2 To i1)* n *(n + 1)
sum = sum + item
n = n + 2
Loop While Abs(sum)
MsgBox(sum)End Sub 'sum=-68 编写一个函数,其功能为求两个数的最大公约数。
Public Function
gcd(ByVal m As Integer, ByVal n As Integer)As Integer
Dim i As Integer If m > n Then Dim t As Integer t = m: m = n: n = t End If For i = m To 1 Step-1 If m Mod i = 0 And n Mod i = 0 Then gcd = i Exit Function
End If
Next End Function
20.用InputBox输入一个年份,判断该年份是否是平年,若是则输出“Yes”,否则输出“No”。
Dim year As Integer year = Val(InputBox(“”))If(year Mod 400 = 0)Or(year Mod 4 = 0 And year Mod 1000)
Then MsgBox(“No”)Else
MsgBox(“Yes”)
End If输入两个整数m、n,编写程序使得
m>=n,并输出m、n的值。
Dim m, n As Integer
m = Val(InputBox(“”))n = Val(InputBox(“”))
If m
MsgBox(“m=” & m & “;” & “n=” & n)
22求下面级数前n项的和S,在求和
过程中,当某项(注意,该项参与求和)的绝对值小于0.0001 时求和终止。结果取 5 位小数。
1-1/3+1/5-1/7+1/9-1/11+ „ +(-1)^(n-1)*1/(2n-1)+ „
Private Sub Command1_Click()
Dim n As Integer
Dim item As Double
Dim sum As Double
i =Do While True
item =(-1)^(i1)
整数:“)sum = sum + item If Abs(item)
MsgBox(Format(sum, ”0.0000“))
End Sub '
sum=0.78545编写一个函数,其功能为判断一个3位正整数是否是”水仙花数“。(”水仙花数“是指各位数字的立方和与该数相等,如153=1^3+5^3+3^3,153就是水仙花数。)
Public Function Panduan(ByVal x As Integer)As Boolean
Dim a As Integer, b As Integer, c As Integer
a = x 100
b =(x Mod 100)10
c = x Mod 10
If x = a ^ 3 + b ^ 3 + c ^ 3 Then
Panduan = True
Else
Panduan = False
End If
End Function Private Sub Command1_Click()
Dim i As Integer
i = InputBox(”输入一个3位正
MsgBox(Panduan(i))End Sub 定义一个下标上界为10整型数组,并为其赋值(值处于[0,100]之间),计算数组中所有不小于60的数据的和。
Dim a(10), i, sum As Integer
For i = 0 To 10
a(i)= Int(Rnd()* 101)
Next
For i = 0 To 10
If a(i)〉=60 Then
sum = sum + a(i)
End If
Next
print sum
25.编写程序,求下面级数前n项的和s=1/1!-1/2!+1/3!-1/4!+....+(-1)^(n-1)*1/n!+.....。
'求和过程当某一项的绝对值小于0.0001时结束(注意,该项参与求和),计算并输出所求的s,要求结果保留6位小数。Private Sub Command1_Click()
Dim m As Double, n As Long, s As Double, f As Integer
s = 0: n =-1: m = 1: f = 1 Do While 1 / m >= 0.0001 m = m * f f = f + 1 n =-n
s = s + n / m Loop
s = Format(s, “0.000000”)Print s End Sub
26输入一个四位数,分别输出它的个位数字,是十位数字,百位数字,千位数字。Private Sub Command1_Click()Dim a%, j%, k%, i%, m% a = InputBox(“请输入一个四位整数”)j = a 1000 k = a 100 Mod 10 i = a 10 Mod 10 m = a Mod 10 Print “个位数字;”;m Print “十位数字;”;i Print “百位数字;”;k Print “千位数字;”;j End Sub 6.计算sum=2!+4!+6!+...+10!Private Sub Command1_Click()Dim a%, i% Sum = 0 i = 1: a = 1 Do a = 2 * i If i Mod 2 = 0 Then Sum = Sum + a End If i = i + 1 Loop While i
27编写程序,计算并输出下面级数前n项(n=20)中奇数项的和。1*2*3-2*3*4+3*4*5-4*5*6+....+(-1)^(n-1)*n*(n+1)*(n+2)+...Private Sub Command1_Click()Dim s!, i% For i = 1 To 20 Step 2 s = s + i *(i + 1)*(i + 2)Next MsgBox(s)End Sub
28随机输出一个小写字母。Private Sub Command1_Click()Dim a As String Randomize
a = Chr(Int(97 + 26 * Rnd))MsgBox(a)End Sub、29编写程序,计算并输出下面级数前n项(n=50)中偶数项的和。s=1*2+2*3+3*4+4*5+....+n*(n+1)+.....Private Sub Command1_Click()Dim s!, i%
For i = 2 To 50 Step 2 s = s + i *(i + 1)Next
MsgBox(s)End Sub
30斐波那契数列是由计算某类动物繁殖增长量而提出的。数列的前两项是1、1,以后的每一项都是其相邻前两项的和。编写程序求:数列前30项和。
Private Sub Command1_Click()Dim a&, b&, c&, i%
a = 1: b = 1: c = 2: Sum = 0 For i = 1 To 28 c = a + b a = b b = c
Sum = Sum + c Next
MsgBox(Sum)End Sub
31输入三个数a、b、c,编写程序使得a
a = Val(InputBox(“请输入a的值!”))b = Val(InputBox(“请输入b的值!”))c = Val(InputBox(“请输入c的值!”))If a > b Then t = b b = a a = t End If
If a > c Then t = a a = c c = t End If If b > c Then t = b b = c c = t End If
Print a, b, c End Sub 32编写程序,设n=20,x=3.4,计算并输出S(n)的值,要求结果保留5位小数。S(n)=Inx/x+In2x/x^2+In3x/x^3+.....+In(n*x)/x^n+.....Private Sub Command1_Click()Dim x#, i% Dim S(20)As Double n = 20 x = 3.4 For i = 1 To 20 S(20)= S(20)+ Log(i * x)/(x ^ i)Next Print Format(S(20), “0.00000”)End Sub
33输入任意三个数 找出其中最大的数 Private Sub Command1_Click()Dim a!, b!, c!, Max!a = Text1.Text b = Text2.Text c = Text3.Text Max = a If b > Max Then Max = b If c > Max Then Max = c Text4.Text = Max End Sub
输出1到100之间的素数 Print 1;2;a = 3 While a
While i
If a Mod i = 0 Then
i = a
End If
i = i + 1
Wend
If i = a Then
Print a;
End If a = a + 1 Wend、34打印斐波那契数列20项 Private sub form_click()A=0 B=1
Text1.text=text1.text&str(A)&str(B)&chr(13)& Chr(10)For i=1 to 9 A=A+B B=A+B
Text1.text=text1.text&str(A)&str(B)&chr(13)& Chr(10)Next i
35判定素数
A=val(inputbox(“input a”))For i=2 to a
If(a mod i=0)then Exit for End if Next i
If i
36求sum
1+(1+2)+(1+2+3)………….n = Val(Text1.Text)sum = 0
For i = 1 To n sum1 = 0 For j = 1 To i sum1 = sum1 + j Next j sum = sum + sum1 Next i Text2.Text = sum
37求50名学生的平均成绩并统计高于平均分的人
Dim c(1 to 50)as integer Dim p!,n%,i% P=0 For i=1 to 50 C(i)=inputbox(“请输入第”&i&”位学生的成绩”
P=p+c(i)Next i P=p/50 N=0 For i= 1 to 50 If c(i)>p then n=n+1 Next i Print “平均分=”;”高于平均分的人数=”;n
设C=0.3,编写程序,计算并输出下面级数的部分和。结果取小数点后面7位。C/1!-C^3/3!+C^5/5!-„ +(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ „ Dim n as integer Dim x as integer X=0.3 Dim item as double Dim sum as double Dim fact as double For n=1 to 35 Fact=1 Dim I as integer For I =1 to 2*n-1 Fact=fact*i Next Item =(-1)^(n-1)*x^(2*n-1)/fact Sum=sum+item Next Sum=int(sum*10000000+0,.5)/100000000
Magbox
39已知A、B为整数A和B的立方和为1000求所有的A、B。
Dim x ,y as integer For x=0 to10 For y=0 to10
If x^3+y^3=1000 then Msgbox(x=;y=)
定义一个下标上界为30的单精度数组,设置好其初值(值处于[20,90]),计算数组中所有元素的均值。Dim array(30)as single For i=0
Array(i)=20+int(rnd()*71)Next i
Dim sum% For i=0 to 30
Sum=sum+array(i)Next i
Print sum 31 End sum
41求下面级数前S项中奇数项的和sum。在求和过程中,以第一个奇数项的数值大于 10000 的项为末项。1!-2!+3!-4!+ „ +(-1)^(S-1)*S!+ „
Dim n as integer Dim item double Dim I as integer Dim sum as double Dim abs as double Do while true Item =1 For I =1 to n Item = item*1 Next i
Sum=sum +item N=n+2
If abs(item)>10000 then Exit do Else N=n+2 End if Loop Msgbox(sum)
42计算sum=1/1!+1/2!+1/3!+....+1/10!Private Sub Command1_Click()Dim m As Integer, n As Long, s As Double n = 1 s = 0 For m = 1 To 10 n = n * m s = s + 1 / n Next Print s
42求从[j,s]区间内的素数及素数和(这里需要用到三个文本框和2个按钮)'Private Sub Command1_Click()Dim n%, i%, j%, s% Sum = 0 j = Val(Text1.Text())s = Val(Text2.Text())For n = j To s For i = 2 To n1 Then Sum = Sum + n: Print n Next n Text3.Text = Sum End Sub Private Sub Command2_Click()Cls Text1.Text = “” Text2.Text = “” Text3.Text = “” Text1.SetFocus End Sub 43某分段函数描述如下:(1)当x为偶数时,y的值为x的二分之一。(2)当x为奇数时,y的值为x的二倍。Private Sub Command1_Click()Dim x!, y!x = Val(InputBox(“请输入X的值!”))
If x Mod 2 = 0 Then y = x / 2 Else y = 2 * x MsgBox(y)End If End Sub
44随机输出一个小写字母。Private Sub Command1_Click()Dim a As String Randomize
a = Chr(Int(97 + 26 * Rnd))MsgBox(a)End Sub、45编写程序,计算并输出下面级数前n项(n=50)中偶数项的和。s=1*2+2*3+3*4+4*5+....+n*(n+1)+.....Private Sub Command1_Click()Dim s!, i%
For i = 2 To 50 Step 2 s = s + i *(i + 1)Next
MsgBox(s)End Sub
46编写程序,设n=20,x=3.4,计算并输出S(n)的值,要求结果保留5位小数。S(n)=Inx/x+In2x/x^2+In3x/x^3+.....+In(n*x)/x^n+.....Private Sub Command1_Click()Dim x#, i%
Dim S(20)As Double n = 20 x = 3.4
For i = 1 To 20
S(20)= S(20)+ Log(i * x)/(x ^ i)Next
Print Format(S(20), “0.00000”)End Sub
47设 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 Integer
Dim x As Double
x = 0.3
Dim item As Double
Dim sum As Double
Dim fac As Double
For n = 1 To 35
fac = 1
Dim i As Integer
For i = 1 To 2 * n1)* x ^(2 * n1
fac = fac * i
Next
item =(-1)^(n1)/ fac
sum = sum + item
Next
sum = Int(sum * 10000000 + 0.5)/ 10000000
MsgBox(sum)End Sub
'
sum = 0.479426
49编写子过程,计算并输出3000-4000之间的素数之和C与其中最小的素数MIN。
Private Sub Command1_Click()
Dim sum, i, min As Integer
min=0
For i = 3000 To 4000
Dim isprime As Boolean = True
Dim j As Integer
For j = 2 To ia(1))*(pa(3)))MsgBox(s)Else MsgBox(“不能构成三角形”)End If End Sub