1. 编写程序,单击窗体时在窗体上打印出如下所示的图形。
* *** ***** ******* ********* ******* ***** *** *
Private Sub Command1_Click() Dim i As Integer, j As Integer j = j + 1
For i = -4 To 4
Print Tab(20 + Abs(i)); For j = 1 To 9 -Abs(2 * i) Print \Next j Print Next i End Sub
2. 编写程序,输出下列三角形:(要求用循环做,非循环不给分)
G FG EFG DEFG CDEFG BCDEFG ABCDEFG
Private Sub Command1_Click()
Dim a As String, b As String, i As Integer, j As Integer
Dim s As Integer, t As Integer, k As Integer, m As Integer
a = \k = Len(a) For i = 1 To k Print Right(a, i) Next i End Sub
3.******* * ***** *** *** ***** * *******
Private Sub Form_Load() For i = 4 To 1 Step -1 Print Tab(10 - i); For j = 1 To 2 * i - 1 Print \Next Print Spc(2);
For k = 1 To 9 - 2 * i Print \Next Print Next End Sub
4. 1 222
33333 5555555
888888888
Private Sub Command1_Click() f1 = 0 f2 = 1
For i = 1 To 5
Print Tab(20 - 3 * i); For j = 1 To 2 * i - 1 f3 = f1 + f2 Print f3; Next f1 = f2 f2 = f3 Print Next End Sub 5. 1 123 12345 1234567
For i = 1 To 4
Print Tab(20 - 3 * i); For t = 1 To 2 * i - 1 Print t; Next Next
6 .1111111 22222 333 4
n = InputBox(\x = 0
For i = n To 1 Step -1 Print Tab(20 - 3 * i); x = x + 1
For j = 1 To 2 * i - 1 Print x; Next Next
7 . 1 121 12321 1234321
For i = 1 To 4
Print Tab(15 - 3 * i); For j = 1 To i Print j; Next
For k = i - 1 To 1 Step -1 Print k; Next Print Next
For j = 1 To 2 * i - 1 Print s; Next
8.计算并输出下面数前n项的和 1-1/2+1/3-1/4+…..1/n= n = InputBox(\输入数字:\For i = 1 To n j = 1 / i
If i Mod 2 = 0 Then s = s - j Else s = s + j End If Next Print s 9. 求公式:e=1+1/1!+1/2!+1/3!+??+1/n! 直到n=20时的e值。
Private Sub Command1_Click() Dim i As Integer, j As Integer
Dim s As Single, h As Single, l As Single, k!
k = 1 s = 1
For i = 1 To 20 k = k * i s = s + 1 / k Next i Print s End Sub 10.求公式e=1/1+1/2!+1/3!+1/4!+…..1/n!直到最后
一项小于10^-6的e的值。 e = 0 s = 1 k = 1 i = 1
Do Until s < 10 ^ (-6) k = k * i s = 1 / k e = e + s
i = i + 1 s = s + j If a >= x Then Loop Next i Print x; Print e Print s k = k + 1
If k Mod 5 = 0 Then Print 11. 有一数列:1、1、2、3、5、8、14.求出n=15时
End If 13、21?,求出这个数列的前20项之和 s=1+(1+2)+(1+2+3)+??
Private Sub Command1_Click() Next +(1+2+??+n)的值 Dim f1 As Single, f2 As Single, f3 Private Sub Form_Click() End Sub As Single s = 0 18. 由键盘输入一个正整数,找出
Dim i As Integer, j As Integer, n As i = 1 大于或等于该数的第一个质数。 Integer Do While i <= 15 Private Sub Command1_Click()
Dim sum As Single t = t + i Dim i As Integer, x As Integer, j As f1 = 1 s = s + t Boolean f2 = 1 i = i + 1 x =val( InputBox(\请输入一个数\sum = 2 Loop Do While True Do While i <= 20-3 Print s x = x + 1 f3 = f1 + f2 End Sub For i = 2 To Sqr(x) f1 = f2 j = True 15. 计算当n=20时 f2 = f3 If x Mod i = 0 Then j = False: Exit s=1+1/2+1/3+1/4+??+1/n的值 sum = sum + f3 Private Sub Form_Click() For i = i + 1 s = 0 Next i Loop i = 1 If j Then Exit Do Print sum Do While i <= 20 Loop End Sub t = 1 / i Print x s = s + t End Sub
i = i + 1 12. 已知19. “完备数”是指一个数恰好等Loop sin(x)=x/1-x^3/3!+x^5/5!-x^7/7!+?,设于它的因子之和,如6的因子为1、2、Print s 计一个程序,输入x,通过累加所有绝3,而6=1+2+3,因而6就是完备数。编End Sub 对值大于等于0.000001的项来计算程找出1~1000之间的全部“完备数”。
Private Sub Command1_Click() sin(x)的值。 16..从键盘中输入一个数,判断这个
Private Sub Command1_Click() Dim i As Integer, a As Integer 书是否为素数 Dim i As Integer, j As Integer Dim s As Integer x = Val(InputBox(\从键盘输入数Dim x As Single, sum As Single For i = 1 To 1000 据:\Dim h As Single, k As Single i = 2 a = 2: s = 1
Do While i <= x - 1 Do While a < i x =val( InputBox(\请输入x的值\
h = 1 If x Mod i = 0 Then If i Mod a = 0 Then k = 1 Exit Do s = s + a Do End If End If i = i + 1 i = i + 1 a = a + 1 h = h * x Loop Loop k = k * i If i >= x Then If s = i Then If i Mod 2 = 1 Then Print i Print x; \一定是素数\j = j + 1 Else End If sum = sum + (-1) ^ (j + 1) * h / k Next i Print x; \不是素数\End If End If End Sub Loop While Abs(h / k) > 10 ^ (-6) 17.从100-200之间的素数 20.从键盘中输入一个数,判断是否Print sum Private Sub Command1_Click() 为完备数。 End Sub For x = 100 To 200 x = Val(InputBox(\从键盘中输入一
For a = 2 To x - 1 13.求一串数字各自之和如12345. 个数:\ If x Mod a = 0 Then i = 1 x = InputBox(\输入一串数字:\
For i = 1 To Len(x) Exit For Do While i <= x - 1 j = 0 End If If x Mod i = 0 Then j = j + Mid(x, i, 1) Next s = s + i
End If h = h / 2 1.5元 >i = i + 1 60 h Next i Loop Private Sub Command1_Click() Print \共经过\米。最后一次反If x = s Then Dim a As Integer, page As Single 弹高度为\
End Sub Print x; \是完备数\a = Val(InputBox(\请输入上网的时
Else 长\26. 有一根长度为321m的钢材料,
If a > 0 Then Print x; \不是完备数\要将它截取成两种规格的短料,规格a、
End If If a < 10 Then b的长度分别为17 m和27 m,问分隔
page = 30 21.找出100-999之间的水仙花数字 成a、b各多少段后,剩余的残料r最少?
i = 100 ElseIf a < 60 Then Private Sub Command1_Click() Do While i <= 999 page = a * 2 Dim i As Integer, r As Integer, a As b = i \\ 100 Else Integer, b As Integer, min As Integer s = (i - b * 100) \\ 10 page = a * 1.5 min = 17 g = i Mod 10 End If For i = 0 To 11 If b ^ 3 + s ^ 3 + g ^ 3 = i Then Else r = (321 - 27 * i) Mod 17 Print i If r < min Then min = r: b = i: a = MsgBox \没有上网,无需交费End If \(321 - 27 * i) / 17 i = i + 1 End If Next i Loop If page > 100 Then page = 100 Print min, a, b
End Sub 22. 输入三角形的三条边a,b,c Print \您本月共上网\a; \小
的值,根据其数值,判断能否构成三角时,需交费:\元\27. 小猴在一天摘了若干个桃子,形。若能则求出三角形的面积。 24. 有一个长阶梯,如果每步跨2当天吃掉一半多一个;第二天接着吃了
Private Sub Command1_Click() 阶最后剩1阶,如果每步跨3阶最后剩剩下的桃子中的一半多一个,以后每天 Dim a As Integer, b As Integer, c 2阶,如果每步跨4阶最后剩3阶,如都吃剩下桃子中的一半零一个,到第7As Integer 果每步跨5阶最后剩4阶,如果每步跨天早上要吃时只剩下一个了,问小猴那
Dim s As Single, area As Single 6阶最后剩5阶,只有当如果每步跨7天共摘下了多少个桃子?
Private Sub Command1_Click() a =val( InputBox(\请输入边长阶时恰好走完,问这个阶梯至少有多少
a\Dim i As Integer, s As Integer 阶?
Private Sub Command1_Click() s = 1 b =val( InputBox(\请输入边长
b\Dim a As Integer, i As Integer For i = 6 To 1 Step -1
Do While True s = (s + 1) * 2 c =val( InputBox(\请输入边长
c\i = i + 1 Next i
If a + b > c And a + c > b And b + If i Mod 2 = 1 And i Mod 3 = 2 Print s c > a Then And i Mod 4 = 3 And i Mod 5 = 4 And i End Sub
Mod 6 = 5 _ Print \能构成三角形\28. 某次大奖赛,有7个评委打分,
s = (a + b + c) / 2 And i Mod 7 = 0 Then 满分为100分。对一名参赛者,输入7area = Sqr(s * (s–a) * (s–b) * Print \该阶梯至少有\阶\个评委的打分分数,去掉一个最高分、(s-c )) Exit Do 一个最低分后,求出平均分为该参赛者
End If Print \面积为:\的得分。编写程序输入评委的打分,输
Else Loop 出参赛者的得分。
End Sub Private Sub Command1_Click() Print \不能构成三角形\
End If Dim Max As Integer, min As Integer 25. 一个球从100 m高度自由下End Sub Dim i As Integer, s As Integer, f As 落,每次落地后反跳回原高度的一半,23. 编一程序:根据上网时间计算再落下。求它在第10次落地时,共经过Integer
Max = 0 上网费用。计算的方法如下:为了鼓励多少m?最后一次反弹高度多少?
Private Sub Command1_Click() min = 100 多上网,每月收费最多不超过100元。
Dim i As Integer, s As Single, h As For i = 1 To 7 30元基数
Single <10 h f =val( InputBox(\请输入评委的打
s = 100 每小时2分\
费
h = 100 If f > Max Then Max = f 元 10~
用=
60 h For i = 2 To 10 If f < min Then min = f
s = s + h s = s + f 每小时
Next i Next j Private Sub Command1_Click() aver = (s - Max - min) / 5 Print Dim x, s As Single, bz As String
Next i Do While UCase(bz) < > \Print \参赛者最后得分为:\aver,
Max, min End Sub x = InputBox(\请输入相加的值\
End Sub If Val(x) = x Then 32. 一个两位正整数,如果将它的
s = s + x 29. 输入任意长度的字符串,要求个位数字与十位数字对调,则产生另一
End If 将字符顺序倒置,例如,将输入的个正整数,我们把后者叫做前者的对调
“ABCDEFG”变换成“GFEDCBA”。 数。现给定一个两位正整数,请找到另bz = InputBox(\是否结束?(Y/N)\
Private Sub Command1_Click() Loop 一个两位正整数,使得这两个两位正整Dim str1 As String, str2 As String 数之和等于它们各自的对调数之和,若Print s Dim i As Integer, k As Integer End Sub 找不到,则输出“查找失败”。例如:str1 = InputBox(\32+12=21+23。(要求:在程序运行时从35. 某数组有20个元素,元素的值str2 = \键盘输入给定的两位正整数) 由键盘输入,要求将前10个元素与后k = Len(str1) Private Sub Command1_Click() 10个元素对调。即第一个元素与第20For i = k To 1 Step -1 Dim a As Integer, b As Integer, c As 个元素互换,第2个元素与第19个元素str2 = str2 + Mid(str1, i, 1) Integer, d As Integer 互换??第10个元素与第11个元素互Next i Dim i As Integer, j As Integer, k As 换。输出数组原来各元素的值和对换后Print str2 Integer, l As Integer 各元素的值。 End Sub Private Sub Command1_Click() a =val(InputBox(\请输入两位正整
Dim a(1 To 20) As Integer 30. 勾股定理中三个数的关系是:数\
i = a \\ 10 Dim i As Integer, t As Integer a^2 + b^2 =c^2。编写程序,输出100以
j = a Mod 10 For i = 1 To 20 内满足上述关系的整数组合,例如3,4,
c = j * 10 + i 5就是一个整数组合。 a(i) = InputBox(\输入a(\&
Private Sub Command1_Click() For b = 10 To 99 Format(i, \Dim a As Integer, b As Integer, c As k = b \\ 10 Print \ \Integer l = b Mod 10 If i Mod 10 = 0 Then Print
For a = 1 To 100 d = l * 10 + k Next i For b = a To 100 If a + b = c + d Then For i = 1 To 10 For c = b To 100 t = a(i): a(i) = a(20 - i + 1): a(20 -i + Print a; \的对调数为\If a ^ 2 + b ^ 2 = c ^ 2 Then End if 1) = t
Next b Next i Print \勾股定理整数组合\
a, b, c End Sub For i = 1 To 20
End If Print \ \33. 把一个16进制数转换成一个Next c If i Mod 10 = 0 Then Print 10进制数。 Next b Private Sub Command1_Click() Next i Next a Dim a As Integer, k As String, h As End Sub End Sub Integer, s As Integer 36.判断是数字,小写字母还是大写31. 编写程序,打印如下的乘积表: a = InputBox(\请输入一个16进制字母。 * 3 6 9 数 \ Private Sub Command1_Click() 12 k = Trim(Str(a) ) a = InputBox(\请键入一个字符:\
15 h = Len(k) 输入字符\ 16 s = a Mod 10 If a >= \ 17 For i = h-1 To 1 Step-1 Print \是数字\ 18 s = s + Val(Mid(k, i, 1)) * 16 ^ (h-i) ElseIf a >= \Private Sub Command1_Click() Next i Print \是小写字母\Dim i As Integer, j As Integer ElseIf a >= \Print \进制数:\a; \转换为10Print \ * 3 6 9 进制数是: \Print \是大写字母\12\End Sub Else
For i = 15 To 18 34. 编程输入一批数据,若输入数Print \不可知类型\Print i; \ \End If 据为纯数字时,求累加和,非纯数字不For j = 3 To 12 Step 3 End Sub 累加。输入\结束输入,输出累加和。Print i * j; \ \(用InputBox()输入数据) 37.判断是什么季节,有多少天。
Private Sub Command1_Click() c = b Dim y As Integer End If Dim m As Integer Print \三个数字从小到大:\
End Sub y = Val(InputBox(\输入年份:\
m = Val(InputBox(\输入月份:\39..求出当s=1*2*3*??If m = 3 Or m = 4 Or m = 5 Then *n>=40000 Print m; \属于春季\时的n的最小值。 ElseIf m = 6 Or m = 7 Or m = 8 Private Sub Form_Click() Then i = 1
s = 1 Print m; \属于夏季\
ElseIf m = 9 Or m = 10 Or m = 11 Do While s <= 40000 Then s = s * i
i = i + 1 Print m; \属于秋季\
Else Loop
Print i - 1 Print m; \属于冬季\
End If End Sub If m = 1 Or m = 3 Or m = 5 Or m = 7 40.编写程序,用普通迭代法求方程Or m = 8 Or m = 10 Or m = 12 Then f(x)=x+ln(x)-1.7
Print m; \该月有31天\=0的近似实根,迭代初值1.5,精ElseIf m = 4 Or m = 6 Or m = 9 Or 确到0.0001。 m = 11 Then Dim x0#, x1#
x1 = 1.5 Print m; \该月有30天\
End If Do If y Mod 4 = 0 And y Mod 100 <> 0 x0 = x1 Or y Mod 400 = 0 Then x1 = x0 - (x0 + Log(x0) - 1.7) / (1 +
1 / x0) Print \月有29天\
Else Loop While Abs(x0 - x1) > 0.0001
Print x1 Print \月有28天\
End If End Sub
38.输入三个数abc,由小到大排列。
Private Sub Command1_Click() a = Val(InputBox(\请输入一个数字:\
b = Val(InputBox(\请输入一个数字:\
c = Val(InputBox(\请输入一个数字:\
If a > b Then t = a a = b b = t End If
If a > c Then t = a a = c c = t End If
If b > c Then t = b b = c
相关推荐: