1. 编程在表格上输出101~500之间的所有能被3或者7整除的奇数,按照一行5个的方式输出并最后满足要求的数的和。
解:代码为
私有子form_load()
显示
Dim n,sum As Integer
打印Spc(6); "101~500之间的所有能被3或者7整除的奇数,及各数的和"
i = 0
sum = 0
对于n = 101 500 步骤 2
如果 n Mod 3 = 0 或 n Mod 7 = 0 则
sum = sum n
i = i 1
打印 Spc(6); n;
如果 i Mod 5 = 0 则
打印
End If
End If
下一个n
打印Spc(7); "sum="; sum
End Sub
2. 在4个TextBox中输入4个大小不同的数字,将它们从大到小排序后的结果用Msgbox函数输出。
解:代码为
Private Sub Command1_Click()
Dim a!, b!, c!, d!
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
d = Val(Text4. Text)
如果 a lt;gt; b 和 b lt;gt; c 和 c lt;gt; d 和 a lt;gt; c 和 a lt;gt; d 和 b lt;gt; d 那么
如果 a lt;b 那么
t = a: a = b: b = t
结束 If
如果a lt; c 则
t = a: a = c: c = t
End If
如果 b lt; c 则
t = b: b = c: c = t
End If
If d gt; a then
t = d: d = a: a = t
End If
If d gt; b then
t = d: d = b: b = t
End If
If d gt;c then
t = d: d = c: c = t
End If
MsgBox "从大到小排序:" amp;a amp;"," amp;b amp;"," amp;c amp;"," amp;d
Else
MsgBox "有相同的数字"
End If
End Sub
Private Sub Command2_Click()
End
结束子
3. 在TextBox中任意输入x的值,将f(x)输出的结果用Msgbox输出函数。
解:代码为
Private Sub Command1_Click()
Dim x As Double
x = Val(Text1.Text)
如果 x lt; 0 则
如果 x = -3 则
MsgBox "f(x)=" amp; x ^ 2 - x - 1
Else:MsgBox "f(x)= amp; x ^ 2 x - 6
End If
End If
If x gt;= 0 则
如果 x lt; 10 且 x lt;gt; 2 且 x lt;gt; 3 则
MsgBox "f(x)=" amp; x ^ 2 - 5 * x 6
Else:MsgBox "f(x)=" amp; x ^ 2 - x - 1
End If
End If
End Sub
Private Sub Command2_Click()
End
End Sub
4. 找到10000到99999中的所有回文数字,并按照一行10个的格式在上一张中输出,例如12321是回文数字,个位与万位相同,十位与千位相同。
解:代码为
私有子Form_Load()
显示
将x,a,b,c,d,e设为整数
>
打印 Spc(25); "所有的五位回文数:"
打印
i = 0
对于 x = 10000 为99999
a=x\10000
b=(x-(a*10000))\1000
c=(x-(a*10000) - (b * 1000)) \ 100
d = (x - (a * 10000) - (b * 1000) - (c * 100)) \ 10
e = x - (a * 10000) - (b * 1000) - (c * 100) - (d * 10)
如果 a = e 且 b = d 且 c lt;gt; a 且 c lt ;gt; b 和 a lt;gt; b 则
打印 Spc(5); x;
i = i 1
如果 i Mod 10 = 0 然后
打印
结束如果
结束如果
下一步
结束子
5。 在单张上输出所有的“水仙花数”,并按照一行5个的格式输出。所谓“水仙花数”是指一个三位数,其各个数字立方和该数字本身相等。
例如:153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3。
解:代码为
Private Sub form_load( ) Show Dim a, b, c, i As Integer Print Spc(10); "水仙花数" For i = 100 To 999 a = i Mod 10 b = i \ 100 c = (i - b * 100) \ 10 If a ^ 3 b ^ 3 c ^ 3 = i 则打印 i; Space(2); If (i 1) Mod 5 = 0 则打印 End If End If Next i End Sub
6. 编程查找满足下列条件的所有四位并在表格上按照一行10个的形式输出:该数第一、三个数字之和为10,第二、四位数字之积为12。 p>
解:代码为
Private Sub Form_Load()
Dim i As Integer, a(1 To 4) As Integer, j As Integer
j = 0
显示
对于 i = 1000 到 9999
a(1) = i Mod 10
a( 2) = ((i - a(1)) / 10) 模 10
a(3) = ((i - i 模 100) / 100) 模 10
a (4) = ((i - i Mod 1000) / 1000) Mod 10
如果 (a(4) a(2) = 10 并且 a(1) * a(3) = 12) 那么
打印 Tab((j Mod 10 1) * 7);
打印 i;
j = j 1
If ( j Mod 10 = 0) 然后打印
End If
Next
End Sub
7.编写一个程序,分2个TextBox中输入某人的身高(cm)和体重(kg),单击式确定其体重为标准、过胖或过瘦,将结果用Msgbox输出。(1)标准体重=身高是否-110;(2 )超过标准体重5kg为过胖;(3)低于标准体重5kg为过瘦。
解:代码为
Private Sub Command1_Click()
Dim a,b,c As Single
a = Val(Text1 .Text)
b = Val(Text2.Text)
c = a - 110
如果 b - c gt;5 则
MsgBox "体重过胖"
ElseIf c - b gt;5 然后
MsgBox "体重过痩"
ElseIf c - b lt;gt ; 5 或 c - b = 5 则
MsgBox "标准体重"
End If
End Sub
Private Sub Command2_Click( )
End
End Sub
8.在TextBox中输入一个正整数n,计算的值并在表格上输出结果中。
解:代码为
Private Sub Command1_Click()
Dim n,f,s,i As Integer
n = Val(Text1.文本)
f = 1
s = 0
对于 i = 1 到 n
f = f * i
s = s f / (i 2)
下一个 i
Label2.Caption = "S=" amp; s
End Sub p>
私有子Command2_Click()
结束
结束子
私有子Form_Load()
结束子 p>
9.已知abcd dcba=3456,其中a,b,c,d第一个正整数,编程求出满足条件的a,b,c,d所有组合,在Label上输出答案。
解:代码为
Private Sub Command1_Click()
Dim a,b,c,d,i As Integer
i = 0
对于 a = 0 到 9
对于 b = 0 到 9
对于 c = 0 到 9
对于 d = 0 到 9
如果 (a * 1000 b * 100 c * 10 d d * 1000 c * 100 b * 10 a = 3456) 那么
Label1.Caption = "a= " amp; a amp; "," amp; "b=" amp; b amp; "," amp; "c=" amp; c amp; "," amp; "d=" amp; d
i = i 1
Else
Label1.Caption = "没有这样的数"
End If
Next
Next
Next
Next
End Sub
10. 编程输出所有满足如下条件的三个正整数:它是某整数的平方,它的三个数码有是相同的,在表格上按照一行5个的格式输出。(如100是10的平方,它有两个0,225是15平方,有两个2)。
解:代码为
Private Sub Form_Load()
Show
Dim x,a,b,c,m As Integer
打印 Tab(10); "所有的三页:"
打印
i = 0
对于 x = 100 到 999
对于 m = 10 到 32
a = x \ 100
b = (x - (a * 100)) \ 10
c = x - (a * 100) - (b * 10)
如果 a = b 或 b = c 或 c = a 则
如果 x = m * m 则
打印 Spc(5); x;
i = i 1
如果 i Mod 5 = 0 那么
打印
结束如果
结束如果
结束如果
下一个m p>
Next x
End Sub
11.求这样一个四足并输出该数字,该四足等于其剩余数字的阶乘之和。
即:
abcd = a! 乙! c! d!,将结果用Msgbox函数输出。
解:代码为
Private Sub Command1_Click()
Dim i As Integer, a(1 To 4 ) 作为整数, j 作为整数
j = 0
对于 i = 1000 到 9999
a(1) = i Mod 10
a(2) = ((i - a(1)) / 10) 模 10
a(3) = ((i - i 模 100) / 100) 模 10
a(4) = ((i - i Mod 1000) / 1000) Mod 10
If (i =fact(a(1))fact(a(2))fact(a( 3)) fact(a(4))) 然后
MsgBox ("其中一个四附加为:" amp; i)
j = j 1
End If
Next
If j = 0 then MsgBox ("无结果")
End Sub
私有函数事实(n 作为整数)只要
将 i 作为整数变暗
f = 1
对于 i = 1 到 n
f = f * i
下一步
fact = f
结束函数
12.输出所有大于1010的4位偶数,且该类偶数的标题数字两两不同,在表格上按照一行5个的格式输出。
解:代码为
Private Sub form_load()
显示
Dim a,b,c,d As Integer
显示为Integer
p>
打印选项卡(20); "所有的四页:"
i = 0
对于 x = 1010 到 9999 步骤 2
a = x \ 1000
b = (x - (a * 1000)) \ 100
c = (x - (a * 1000) - (b * 100)) \ 10
d = x - (a * 1000) - (b * 100) - (c * 10)
若 a lt;gt; b 且 b lt;gt; c 与 c lt;gt; a 与 a lt;gt; d 与 b lt;gt; d 与 c lt;gt; d 然后
打印 Spc(5); x;
i = i 1
如果 i Mod 5 = 0 则
打印
结束如果
结束如果
下一步
结束子
13.求1-2! 3!-4!...序列,当最后的结果超过2000000时停止计算,然后将序列的最结果用Msgbox函数输出。
解:代码为
Private Function m(n As Double) As Double
Dim i As Double
f = 1
对于 i = 1 至 n
f = f * i
下一步
m = f
结束函数
私有子Command1_Click()
Dim i 作为整数,b 作为双精度型,j 作为双精度型
b = 0
i = 1
j = 1
Do而 (b lt;2000000)
b = b i * m(j)
j = j 1
i = i * (-1)
j = j 1
i = i * (-1)
p>Loop
MsgBox ("结果为:" amp; b)
End Sub
14.一位司机酒驾撞人逃跑。现场三人目击事件,但没有记住车号,只记下车号的一些特征。甲说:牌照的前两个数字是相同的;乙说:牌照的后两个数字是相同的;丙是一位肥胖学家,他说:四位的车号正好是整数平方。请根据以上线索求出车号。
(车号为4位正整数,结果在TextBox中输出)
解:代码为
Private Sub Form_Load()
Dim i As Integer, j 作为整数,a(1 到 4) 作为整数
j = 0
显示
对于 i = 1000 到 9999
a(1) = i 模 10
a(2) = ((i - a(1)) / 10) 模 10
a(3) = ((i - a(1)) / 10) a(3) = ((i - a(1)) / 10) i Mod 100) / 100) Mod 10
a(4) = ((i - i Mod 1000) / 1000) Mod 10
If (Sqr(i) - Fix( Sqr(i)) = 0) 则
If (a(1) = a(2) And a(3) = a(4)) then
Text1.Text = i
End If
End If
Next
End Sub
15.用户利用InputBox函数随机输入12个0-100之间的整数,统计出小于60,60到70,70到80,80到90以及90到100范围的整数各有多少个?用Msgbox函数显示输出结果。
解:代码为
Private Sub Command1_Click()
Dim a(1 To 12) As Integer, b(1 To 5) As Integer, i As Integer
For i = 1 To 12
a(i) = Val(InputBox("请输入第" amp; i amp; "个数"))
下一步
对于 i = 1 到 12
选择情况 a(i)
情况 0 到 59
b (1) = b(1) 1
情况 60 至 69
b(2) = b(2) 1
情况 70 至 79
p>
b(3) = b(3) 1
情况 80 到 90
b(4) = b(4) 1
案例 90 到 100
b(5) = b(5) 1
案例其他
结束选择
下一步
MsgBox ("小于60:" amp; b(1) amp; ",60到70:" amp; b(2) amp; ",70到80:" amp; b(3) amp; " ,80到90:" amp; b(4) amp; ",90到100:" amp; b(5))
End Sub
16.在TextBox中输入一个正整数n,当n的值为偶数时,求1-1/2-1/4-...-1/n序列的和,当n为奇数时,求1-1/3-1/ 5...-1/n序列的和,将结果用Msgbox函数输出。
解:代码为
Private Sub Command1_Click()
Dim a As Integer,b As Double,x As Double
a = Val(Text1.Text)
x = 1
选择 Case a Mod 2
Case 0
对于 b = 2 到a 步骤 2
x = x - 1 / b
下一步
情况 1
对于 b = 3 到步骤 2
x = x - 1 / b
下一步
Case Else
结束选择
MsgBox ("结果为:" amp; Format(x, "0.#####"))
End Sub
17.编制程序要求输入整数a和b,若a2 b2大于100,则输出a2 b2百位以上的数字,否则输出两个数字之和。结果利用Msgbox函数输出。
解:代码为
Private Sub Command1_Click()
Dim a 一样长,b 一样长,s 一样长,n 一样长
a = Val(Text1.Text)
b = Val(Text2. Text)
s = a ^ 2 b ^ 2
n = a b
如果 s gt; 100 则
i = MsgBox ("结果为:" amp; Int(s / 100))
Else: i = MsgBox("结果为:" amp; n)
End If
End Sub
Private Sub Command2_Click()
End
End Sub
18.猜数游戏:由计算机随机产生一个2位正整数让人来猜,只能猜8次,如果人猜对了,则利用Msgbox函数显示计算机随机产生的该2位正整数并显示“你真聪明”,否则利用Msgbox函数给出提示,告诉人们所猜测的数字是很繁琐还是太小,直到人们猜对了运气,8次都猜不到给出提示或者“游戏结束”。
解:代码为
Private Sub Command1_Click()
将 a 设为整数, b 设为整数, i 设为整数
随机化
a = Fix(Rnd(Time) * 90) 10
For i = 1 To 8
b = Val(InputBox("请输入一个数字"))
选择案例b
案例0到a - 1
MsgBox("太小了!")
案例a 1 到 100
MsgBox ("熟练了!")
Case a
MsgBox ("你真聪明!")
Exit For
Case Else
MsgBox ("输入错误!")
End Select
If (i = 8 ) 然后MsgBox ("GAME OVER!")
Next
End Sub
19.征兵的条件是:男性(性别)年龄(年龄)在18~20之间,身高(size)在1.65米以上;或者女性(性别)年龄(age)在16~18之间,身高(size)在1.60米以上。
用三个文本框控件分别输入性别、年龄、身高信息,根据这些信息判断是否符合征兵条件,用Msgbox函数输出结果。
解:代码为
Private Sub Command1_Click()
Dim i As String,j As Single,k As Integer
i = Text1.Text
j = Val(Text2.Text)
k = Val(Text3.Text)
显示
打印i
选择案例i
案例“男”
If (k gt;= 18 And k lt;= 20) then
If (j gt; 165) then
MsgBox ("合格,符合征兵条件")
Else
MsgBox ("不合格,不符合征兵条件")
Else
MsgBox ("不合格,不符合征兵条件")条件")
End If
Else
MsgBox("不合格,不符合征兵条件")
End If
MsgBox("不合格,不符合征兵条件")
End If p>
案例“女”
If (k gt;= 16 And k lt;= 18) then
If (j gt; 160) Then
MsgBox ("合格,符合征兵条件")
Else
MsgBox ("不合格,不符合征兵条件")
End If
Else
MsgBox ("不合格,不符合征兵条件")
End If
Case Else
MsgBox("输入错误!")
结束选择
结束子
私有子Command2_Click()
结束
End Sub
20.求出1到1000之内能被5或13整除、但不能同时被5和13整除的所有整数,在表格上一行5个的格式输出。
解:代码为
Private Sub Form_Load()
显示
Dim n As Integer
打印Spc(10); "1到1000之间能被5或13整除,但不能同时整除5和13的所有整数:"
i = 0
对于n = 1至1000
如果n Mod 5 = 0或n Mod 13 = 0则
如果n Mod 65 lt;gt;0则
i = i 1
打印 Spc(6); Format(n, "!@@@@");
如果 i Mod 5 = 0 则
打印
结束如果
结束如果
结束如果
下一步
结束子