并编写下列事件过程,程序运行后,则窗体上显示的是10。
Private Sub Command1_Click() x = Int(Rnd * (20 - 1 + 1) + 1) Select Case x Case 1 To 20 y = 10
Case 11, 13, 15, 17 y = 30 Case Is > 10 y = 50 End Select Print y End Sub
15、* 下列程序段的执行结果为-9。 A = \ B = \
A = Val(A) + Val(B) B = Val(\
If A <> B then Print A - B else Print B – A
16、* 使用Select Case结构将一年中的12个月份,分成四个季节输出。 Private Sub Form_Click() Dim m%
m = InputBox(\请输入月份\ Select Case m Case 1, 2, 3
Print m & \月是第一季度\ Case 4, 5, 6
Print m & \月是第二季度\ Case 7, 8, 9
Print m & \月是第三季度\ Case 10, 11, 12
Print m & \月是第四季度\ End Select End Sub
17、* 计算s = (1-1/2)*(1-1/3)*...(1-1/10) Private Sub Form_Click() s = 1
For x = 2 To 10 s = s * (1 - 1 / x)
Next x Print s End Sub
18、* 下面程序的功能是随机产生一个三位数正整数,将该数和该数的逆序同时输出。 Private Sub Form_Click() Dim a%, s As String, c As String Randomize
a = Int(Rnd * (999 - 100 + 1) + 100) s = Format(a)
c = Right(s, 1) & Mid(s, 2, 1) & Left(s, 1) Print \三位数是\ Print a & \的逆序是\End Sub
19、* 判断N是否为完全数(一个数等于它所有因子(不包括自身)之和,如6=1+2+3)。 * 程序段如下: n = InputBox(\ I = 1 s = 0 Do While I <= n - 1 If n Mod I = 0 Then s = s + I I = I + 1 Loop If n = s Then Print \是完全数\ Else
Print \不是完全数\ End If
20、* 执行下列事件代码: Private Sub Command1_Click() Dim MyString As String Dim MyLen As Integer MyString = \ MyLen = len (MyString) print MyLen End Sub
在弹出的消息对话框中的内容是:13。
21、* 下面的事件过程随机产生一个3位正整数,并对其逆序处理,最后将产生的数与逆序数相隔4个字符显示在一行上。例如,产生345,输出345 543。 Private Sub Form_Load()
Dim a As Integer, s As String, b As Integer Randomize 11
a = int (Rnd * 900 + 100) s = LTrim(Str(a))
b = val (Right(s, 1) & Mid(s, 2, 1) & Left(s, 1)) Print a; Spc(4); b End Sub
22、* 设计程序,找出50以内所有素数(不包括2)。 * 程序代码如下: Private Sub Form_Click()
Dim i As Integer, m As Integer, flag As Integer For m = 3 To 50 flag = 0
For i = 2 To Int(Sqr(m)) If m Mod i = 0 Then flag = 1 Exit For End If Next i
If flag = 0 Then Print m Next m End Sub
23、* 输出如下图形。 ********* $$$$$$$ ***** $$$ * * 程序段如下:
For I = 5 To 1 Step -1 Print Tab(10 - I); If I Mod 2 <> 0 Then Print String(2 * I - 1, \ Else
Print String(2 * I - 1, \ End If Next I
24、 * 求正整数M和N(M>N)的最大公约数。 * 程序段如下: R = M Mod N
Do While R <> 0 M = N N = R R = M Mod N Loop
Print \最大公约数为: \
25、* 输出下列文字图形: AAAA BBB CC D * 程序代码如下:
Private Sub Form_Click() For i = 1 To 4 For j = 1 To 5 - i Print Chr$(64 + i); Next j print Next i End Sub
26、* 求菲波那契数列(1、1、2、3、5、8...)的第3到10项的值。 * 程序段如下: A(1) = 1 A(2) = 1 I = 3
Do While I <= 10
A(I) = A(I - 1) + A(I - 2) Print \第\项为: \ I = I + 1 Loop
12
三、编程题
1、* 编写程序:输入一元二次方程的系数a,b,c的值,求解一元二次方程的根。
Private Sub Command1_Click()
Dim a#, b#, c# a = Val(InputBox(\参数a=\ b = Val(InputBox(\参数b=\ c = Val(InputBox(\参数c=\ Call root(a, b, c) End Sub Private Sub root(x#, y#, z#) Dim t#, x1#, X2# t = y * y - 4 * x * z If t > 0 Then x1 = (-y + Sqr(t)) / (2 * x ) X2 = (-y - Sqr(t)) / (2 * x) Print \实根\ Else x1 = -y / (2 * x): X2 = Sqr(Abs(t)) / (2 * x) Print \虚根\ End If End Sub
2、* 编写程序:已知x、y、z分别是0~9中的一个数,求x、y、z的值,使得下列成立: xxz+yzz=532。(其中xxz和yzz不表示乘积,而是由x、y、z组成的三位数)。
Private Sub Command1_Click()
Dim x, y, z For x = 1 To 9 For y = 1 To 9 For z = 1 To 9 If (100 * x + 10 * x + z) + (100 * y + 10 * z + z) = 532 Then Print x, y, z; End If Next z Next y Next x End Sub
3、* 编写程序:* 计算并输出下面级数前n项(n=50)的部分和。
1*2+2*3+3*4+4*5+……+n*(n+1)+…
Private Sub Command1_Click() Dim i As Integer, n As Integer, sum As Integer n = Val(Text1.Text) For i = 1 To n sum = sum + i * (i + 1) Next i
13
Print sum
End Sub
4、* 编写程序:编程计算1-2+3-4+5-6?±n的值,n由用户输入
Private Sub Command1_Click()
Dim s As Integer, a As Integer, i As Integer n = Val(Text1.Text) s = 0: a = 1 For i = 1 To n s = s + i * a a = -a Next i Print s End Sub
5、* 编写程序:编程计算1+(1+2)+(1+2+3)+?+(1+2+3?+n),n由用户输入。
Private Sub Command1_Click() 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 Print Sum End Sub
6 * 编写程序: * 计算并输出下面级数前n项(n=30)的部分和。 1/(1*2)+1/(2*3)+1/(3*4)+…+1/(n*(n+1))+ ……
Private Sub Command1_Click() Dim i As Integer, n As Integer, sum As Integer For i = 1 To 30 sum = sum + i * (i + 1) k = 1 / sum w = w + k Next i Print w End Sub
7、* 编写程序: * 求出斐波那契数列前20项中的奇数项的和。 * 提示:前两项为:0,1,从第3项开始,每一项均为其前两项的和(即:0+1+1+2+3+5+...)。 Private Sub command1_Click()
Dim a%, b%, c%, d%
14
a = 0: b = 1 For d = 1 To 18 c = a + b a = b b = c
If d Mod 2 = 1 Then Sum = Sum + c End If Next
Print Sum End Sub
8 * 编写程序:设计一个程序,随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
Private Sub Command1_Click()
Dim y
Randomize
X = Int(Rnd * 900 + 100) Print X
y= strreverse(x) print y End Sub
呵呵还有一种方法y = X Mod 10 & Int(X / 10) Mod 10 & Int(X / 100)也可以实现逆序排列 还有一种方法For i = 0 To 2 y = y & Mid(X, 3 - i, 1) Next i Print y
也可以啊O(∩_∩)O~
9、* 编写程序:计算并在窗体上输出数字8的平方根和立方根。
Private Sub Command1_Click() x = 8 ^ (1 / 2) y = 8 ^ (1 / 3) Print x; y End Sub
10、* 编写程序:设计一个程序,输出在指定范围内的3个随机数,范围通过文本框输入。 Private Sub Command1_Click()
a = Val(Text1.Text) b = Val(Text2.Text)
c = Int(a + (b - a + 1) * Rnd) d = Int(a + (b - a + 1) * Rnd)
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VB复习资料(3)在线全文阅读。
相关推荐: