国家二级VB程序设计题带答案
-
Vb
专项练习第一套题目
1
、打开
“
考生文件夹
96
工程
”
,完善程序并保存。
实现功能:假设有一个
5
位数密码。只记得密码为
67
□□
8
,其中百位和十位
的
数字记不清了,但知道该密码能够被
78
整除,也能被
67
整除。请完善算法
帮忙找出这个密码。
p>
''
请不要更改源程序的结构,删除原题
里的①、②、③。填写正确的代码,使
程序完善
①
67008
②
x
Dim x As Long
③
Next x
For x =
①
To 67998 Step 10
If (x Mod 67 = 0) And
(x Mod 78 = 0) Then
Private Sub
Command1_Click()
Print
②
End If
③
End Sub
2
、
“
考生文件夹
51
工程
”
是采用
“
穷举法
”
求出所有水
仙花数的程序,请
完善程序并保存。
说明:若一个三位数
abc
,满足:
a
bc=a
+b
+c
,则称
abc
为水仙花数。如三
位数
153
满足:
1
+5
+3
=1+125+27=153
,则
153
是水仙花数。
'
p>
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程
序完善
Private Sub
Command1_Click()
Dim i, a, b As
Integer
For i = 100 To
①
a = i 100
①
999
②
i mod 10
③
end
if
3
3
3
3
3
3
b = (i - a * 100) 10
c =
②
If a * a * a + b * b * b + c * c * c =
i Then
Print CStr(i)
③
Next i
End Sub
3<
/p>
、打开
“
考生文件夹
12
工程
”
,完善程序并保存。
实现功能:在
Text1
中输入一个代表秒数的整数后,单击
“
计算
”
按钮后,在
Labe
l1
、
Label2
、
Label3
中显示对应的小时、分钟和秒数。如在
T
ext1
中输入
“
3672
”
,
Label1
、
p>
Label2
、
Label3
中分别显示
“
1
”
、
“
1
”
、
“
12
”
,即
1
小时
1
分
12
秒。
'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程
序完善
Private Sub
Command1_Click()
Dim h, m, s, ss As
Integer
ss =
Val(
①
)
h =
②
m = (ss - h
* 3600) 60
s = (ss - h * 3600) Mod
③
n = CStr(h)
n = CStr(m)
n =
CStr(s)
End Sub
4
、打开
“
考生文件夹
50
工程
”
,完善程序并保存。
实现功能:
在文本框
text1
、
text2
、<
/p>
text3
中输入
3
根小木棒的长度
(
假设都是整
第<
/p>
1
页
共
18
页
①
②
ss3600
③
60
<
/p>
数
)
,判断能否用它们搭成一个三角形,
并把结果输出到文本框
text4
中。
操作要求:
(
1
)在窗体中加载
“
Command
Button
”
控件,命名为
“
Command1
”
并设置该控件
“
Caption
”
属性
值为
“
判断
”
;
(
2
)完
善程序,执行
command1_click
事件,判断出结果
,如果能搭成三角形
则在文本框
text4
中输出
“
OK
”
< br>,否则输出
“
NO
”
。
'
请不要更改源程序
的结构,删除原题里的①、②。填写正确的代码,使程序完
善
Private Sub Command1_Click()
Dim a, b, c As
①
Let a =
Val()
Let b = Val()
Let c = Val()
If (a + b > c) And (a
+ c > b) And (b + c > a) Then
Let
=
Else
Let =
②
End Sub
5
、打开
“
考生文件夹
40
工程<
/p>
”
,完善程序并保存。
< br>
实现功能:
将一张
100
p>
元面值的人民币换成若干
5
元、
1
元、
5
角面值的人民币
,
但要求
100
元换成的零钱共
100
张,且要求每种面值不少于
1
张,问
5
元、
1
元、
5
角各多少张,请输出每种可能的组合。
'
请不要更改源程序的结构,删除原
题里的①、②、③。填写正确的代码,使程
序完善
Private Sub Command1_Click()
①
integer
②
end if
Dim Wuyuan
As Integer
Dim Yiyuan
As Integer
Dim Wujiao
As Integer
For Wuyuan = 1
To 20
For Yiyuan = 1 To
①
Wujiao = 100 -
Wuyuan -
②
If
Wuyuan * 5 + Yiyuan * 1 + Wujiao * 0.5 = 100 Then
Print
&
Wuyuan
&
&
Yiyuan
&
③
Next Yiyuan
Next Wuyuan
End Sub
Vb
专项练习第二套
1
、打开
“
考生文件夹
716
”
文件夹中的文件:
< br>“
工程
”
进行以下操作后并保
存。
某同学欲
设计一个
“
水电费管理系统
”
,其功能如下:
水按每吨
4
元收取,电按每度
0.5
元收取
,输入用水量和用电量,输出应付款。
请打开工程
文件,按如下要求完成下列操作。
(
1
)请在窗体中添加两个控件,使程序运行时,用
其输入耗水量和耗电量。
(
2
)请把下列代码补充完整
Private
Sub Command1_Click()
Dim a As Single, b
As Single, s As Single
a =
Val(
①
)
b =
Val(
②
)
s =
③
①
①
100
②
yiyuan
③
end
if
②
③
4*a+0.5*b
④
s
第
2
页
共
18
页
n
= Str(
④
) +
元
End Sub
< br>2
、打开
“
考生文件夹
723
”
文件夹中的文件:
“
工程
”
进行以下操作后并
保存。
中国邮政的
EMS
国际快递业务:
中国寄往澳大利亚的快递收费
标准是:首个
0.5
p>
公斤收费
210
元,其余的重量按
55
元
/
千克计
算,
(总重不足
0.5
千克按
210
元
收费)
下面是自动计算寄费的程
序,请完善程序。完成后按
“
Ctrl+W
”
保存程序。
(
详见样张)
p>
'
中国邮政的
EMS
国际快递业务:中
国寄往澳大利亚的快递收费标准是:
p>
'
首个
0.5
公斤
收费
210
元,其余的重量按
55
p>
元
/
每千克计算,(总重不足
'0.5
千克按
210<
/p>
元收费)下面是自动计算寄费的程序,请你完善程序。
'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码
,使程序完善
Private Sub
Command1_Click()
Dim x As Single, y
As Single
y = 0
①
= Val()
If x
> 0.5 Then
y = 210 + (x - 0.5) * 55
Else
y = 210
①
x
②
③
= Str(y)
End
Sub
3
、打开
“
< br>考生文件夹
91
工程
”
,完善程序并保存。
实现功能:随机生成
100
个整数,统计偶数的个数。
'
请不要更改源程序的结构,删除原题里的①
、②、③。填写正确的代码,使程
序完善
Dim a(100) As Integer
Private Sub Command1_Click()
Dim total As Integer
①
For i = 1 To
100
If a(i) Mod 2 = 0 Then
②
End If
Next i
Print
CStr(total)
End Sub
②
③
end if
Private Sub Form_Load()
Randomize
For i = 1 To 100
③
=
Int(Rnd * 1000)
Next i
End Sub
第
3
页
共
18
页
①
total=0
②
total=total+1
③
a(i)
4
、打开文件
“
考生文件夹
725
工程
”
,
进行以下操作后保存。
序完善
Private Sub
Command1_Click()
Dim i As
Integer, a As Integer, b As Integer, c As Integer
For i = 100 To 999
a =
i
①
b = (i - a *
②
) 10
①
100
②
100
③
next
i
这是打印九九乘法表的程序,
请你
完善程序。
完成后按
“
Ctrl+W<
/p>
”
保存程序。
(详
见样张)
'
这是打印乘法九九表的程序,请完善程序。
'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善
Private Sub Form_click()
Dim i As Integer, j As Integer
For i = 1 To
①
For j = 1 To
②
Print Tab((j - 1) * 12);
Print j;
Next j
Print
③
End Sub
①
9
c = i Mod 10
If
a ^ 3 + b ^ 3 + c ^ 3 = i Then Print i
③
End Sub
Vb
专项练习第三套
1
、
打开
“
< br>考生文件夹
731
”
文件夹中<
/p>
的文件:
“
工程
”
进行以下操作
后并保存。
本题是青蛙跃井问题:井底蛙欲沿
湿滑井壁上跃
至地面,若井深
h
尺,
蛙上跃
3
尺下滑
1
尺,请给出
井深
h
值,
计算蛙上跃次数
n
。
请你完善程
序。完成
后按
“
Ctrl+W
”
保存程序。
(详见样张)
②
i
③
next
i
5<
/p>
、打开
“
考生文件夹
4
工程
”
,完善程序并保存。
实现功能:用穷举法找出所有的
3
位水仙花数的程序并保存。
3
位水仙花数是指一个三位数,其各个数位上的数字之立方和为该数。例如:<
/p>
153=1
+5
+3
。
'
请不要更改源程序的结构,
删除原题里的①、②、③。填写正确的代码,使程
3
3
3
'
本题是青蛙跃井问题:井底蛙欲沿湿滑井壁
'
上跃至地面,若井深
h
尺,蛙上跃
3
尺下滑
p>
1
尺,
'
请给出井深
h
值,计算蛙上跃次数
n
。
'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,
使程序
完善
第
4
页
共
18
页
Private Sub Command1_Click()
Dim h As Single, n As Integer
h = Val(
①
)
If h > 3 Then
If h Mod 2
= 0 Then
n = h / 2
Else
n = (h - 1) / 2
End If
Else
n =
②
End If
=
③
End Sub
2
、打开
“
考生文件夹
729
”<
/p>
文件夹中的文件:
“
工程
”
进行以下操作后并保存。
运行程序能够显示数字金字塔,请完善程序。
完成后按
“
Ctrl+W
”
保存
程序。
(详见样张)
Print Tab(10 - i);
For j
= 1 To
②
①
②
1
③
n
Print Str(i);
Next j
③
Next i
End Sub
①
5
②
i
③
print
3
、打开
“
考生文件夹
733
”
文件夹中
的文件:
“
工程
”
进行以
下操作
后并保存。
本题是在文本框<
/p>
Text1
中输入一位十
六进制数码(若
是字母要大写)
,运
行程序后能译出它表示的十进制数
的程序。请你完善程序。完成后按
“
Ctrl+
W
”
保存程序。
(详见样张)
'
本题是在
text1
中输入一位十六进制数码(若是字母要大写),
'
运行程序后能译出它表示的十进制数的程序。
'
请不要更改源程序的结构,删除原
题里的①、②、③。填写正确的代码,
使程序完善
Private Sub Command1_Click()
Dim m As String
m =
①
Select Case m
Case
m =
①
②
end select
③
m
'<
/p>
运行程序能够显示数字金字塔,请完善
程序。
'
请不要更改源程序的结构,删除原题里的①、②、③。
填写正确的代码,
使程序完善
Private Sub Form_Click()
Dim
i As Integer, j As Integer
For i = 1 To
①
第
5
页
共
18
页
Case
m =
Case
m =
Case
m =
Case
m =
Case
m =
②
=
③
End Sub
4
、打开
“
考生文件夹
732
”
文件夹中的文件:
< br>“
工程
”
进行以下操作后并保
存。
本题是从
字符串中找出所有大写字母,
并把找出的大写字母显示在
tex
t2
中。
请
你完善程序。
完成后按
“
Ctrl+W
”
保
存程序。
(
详
见样张)
'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,
使程序完善
Private Sub
Command1_Click()
Dim x As String, y
As String
Dim i As Integer, n As
Integer
x =
①
n = Len(x)
For i = 1 To
②
If
Asc(Mid(x, i, 1)) < 91 And Asc(Mid(x, i, 1)) > 64
Then
y = y + Mid(x, i, 1)
End If
Next i
=
③
End Sub
5
、
打开
“
考生文件夹
730
p>
”
文件夹中的文件:
“
工
程
”
进
行以下操作后并保存。
运行程序能够显示数字金字塔,请完善
程序。
完成后按
“
Ctrl+W
”
保存程序。
(详见样张)
< br>
'
运行程序能够显
示数字金字塔,请完善程序。
'
请不
要更改源程序的结构,删除原题里的①、
②、③。填写正确的代码,使程序完善
Private Sub Form_Click()
Dim i As Integer, j As Integer
For
①
= 1 To 5
Print Tab(10 - j);
第
6
页
共
18
页
①
②
n
③
y
'<
/p>
本题
是从一串只
含有字母或数字的字符串
中找出所有大写字母,
'
并把找出的
大写字母显示在
text2
中。
①
j
②
j
③
next
j
For i = 1 To
②
Print Str(i);
Next i
Print
③
End Sub
Vb
专项练习第
4
套
1
、打开
“
考生文件夹
735
”
文
件夹中的文件:
“
工程
”
进行以下操作后并
保存。
完善程序
,
使之在运行程序后,能在窗体上显示样
张所示的图形。完成后按
“
Ctrl+W
”
保存程序。
(详见样张)
'
请不要更改源程序的结构,删除原
题里的①、②、③。填写正确的代码,使程序完善
Private Sub Command1_Click()
Dim s As Single
Dim
q As Single
Dim a As Single
Dim b As Single
Dim
c As Single
①
= Val(InputBox(
请输入边长
a
的值:
b = Val(InputBox(
请输入边长
b
的值:
< br>
c = Val(InputBox(
请输入边
长
c
的值:
q = (a + b + c) / 2
s =
②
(q * (q - a) * (q - b) * (q
- c))
Print
③
End Sub
①
a
②
sqr
③
s
'
完善程序
,
使之在运行程序后,能在窗体上显示样张所显示的图形。
<
/p>
'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确
的代码,
使程序完善
Private
Sub Form_Click()
①
200
Line (600, 200)-(1500,
①
), RGB(255, 0, 0)
②
255,0,0
Line (1500, 200)-(1500, 1000), RGB(0,
0, 255)
③
600
Line (1500, 1000)-(600, 1000),
RGB(
②
)
Line
(
③
, 1000)-(600, 200), RGB(0,
0, 255)
End Sub
2
、打开
“
考生文件夹
36
工程
”
,完善程序并保存。
实现功能:给出三角形的三边边长
a
,
b
,
c
p>
(输入保证能构成三角形,无需判断
正确性)
,输出三角形面积。三角形面积计算公式:
3
、打开
“
考生文件夹
60<
/p>
工程
”
,完善程
序并保存。
实现功能:从文本框
t1
中输入一个圆的半径,计算圆的面积,把结果输出到文
本框
p>
t2
中。
'
p>
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善
Private Sub Command1_Click()
Const pi = 3.14
①
r, s as Single
r = Val(
②
)
s
= pi * r * r
=
③
End Sub
①
dim
②
③
s
p>
4
、打开
“
考生文
件夹
32
工程
”
,完善程序并保存。
实现功能:<
/p>
从键盘上输入一个三位数,
然后将它反向输出。
< br>例如输入
“
123
”
,
输出结果为
“
321<
/p>
”
。
第
7
页
共
18
页
'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,
使程序完善
Private Sub
Command1_Click()
Dim a As Integer,
b As Integer
Dim bai As Integer,
shi As Integer
Dim g As Integer
①
a = Val(
①
)
②
b
bai = a 100
③
shi = (a - bai * 100) 10
g = a Mod 10
②
= g * 100 + shi * 10 + bai
③
= CStr(b)
End Sub
5
、打开
“
考生文件夹
736
”<
/p>
文件夹中的文件:
“
工程
”
进行以下操作后并保
存。<
/p>
该题求丢番图年龄问题:丢番图生命的
1/6
是童年,又过了生命的
1/12
长胡子,
再过了生命的
1/7
结婚,婚
后
5
年生儿子,儿子活了父亲年龄的一半死亡,之后
丢番图又过了
4
年死亡。
求丢番图年龄。
完善程序
,
使之在运行
程序后,
能在
text1
中显示丢番图
年龄。完成后按
“
Ctrl+W
”
p>
保存程序。
(详见样张)
'
该题是求丢番图年龄问题:丢番图生命的
1/6
是童年,
'
又过了
1/12
长胡子,再过了的
1/7
结婚,婚后<
/p>
5
年生儿子,
'
儿子活了父亲年龄的一半死亡,之后丢番图又过了
4
年死亡。
'
求丢番图年龄。
< br>'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,
使程序完善
Private Sub
Command1_Click()
Dim n As Integer
①
n
n = 0
②
while
Do
③
①
= n + 1
Loop
②
n <
n / 6 + n / 12 + n / 7 + 5 + n / 2 + 4
③
= Str(n)
End Sub
Vb
专项练习第五套
1
、打开
“
考生文件夹
178
工程
”
,完善程序并保存。
实现功能:用递归法求
3!+5!+7!
的值。
'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,
使程
序完善
Public
Function Fac(a As Integer) As Integer
If a = 1 Then
Fac =
①
①
1
Else
②
Fac
Fac = a *
②
(a - 1)
③
5
End If
End Function
Private Sub
Command1_Click()
Dim S As Integer
S = Fac(3) +
Fac(
③
) + Fac(7)
Print
End Sub
2<
/p>
、打开
“
考生文件夹
122
工程
”
,完善程序并保存。
王晓珊家距离学校
< br>S1
公里,某天她和李明各自同时从家里步行出发上学,王晓
第
8
页
共
18
页
珊
步行
V1
公里
/
小时,李明步行
V2
公里
/
小时,结果他们同时到达学校。
实现功能:输
入
S1,V1,V2
,输出李明家与学校之间的距离
S2
。
'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程
序完善
Private Sub
Command1_Click()
①
s1/v1
Dim S1 As
Single, S2 As Single
②
v2
Dim V1
As Single, V2 As Single
③
s2
Dim T As
Single
S1 = Val(InputBox(
请输入王晓珊家离学校的距离:
V1 = Val(
InputBox(
请输入王晓珊步行速度:
< br> V2 = Val(InputBox(
请输入李明步行速度:
T =
①
S2 =
②
* T
Print
③
End Sub
3
、打开
“
考生文件夹
43
p>
工程
”
,完善程序
并保存。
实现功能:用递归法求斐波那契数列
1
,
1
,
2
,
3
,
5
,
8
,…第
10
项的值。
'
请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程
序完善
Public Function Fib(n As
Integer) As Integer
If (n = 1) Or
(n = 2) Then
①
1
Fib =
①
②
end
if
Else
③
10
Fib = Fib(n - 1) + Fib(n - 2)
②
End Function
Private Sub Command1_Click()
Dim S As Integer
S
= Fib(
③
)
Print
End Sub
4
、打
开
“
考生文件夹
175
工程
”
,完善程序并保存。<
/p>
实现功能:用递归法求
1+2+3+<
/p>
…
+100
的值。
'
请不要更改源程序的结构,删除原题里的①、②、③。填
写正确的代码,使程
序完善
Public Function S(n As Integer) As
Integer
If n = 1 Then
①
1
S =
①
②
n
Else
③
100
S =
②
+
S(n - 1)
End If
End
Function
Private Sub
Command1_Click()
Dim Sum As
Integer
Sum =
S(
③
)
Print
End Sub
5
、打开
“
考生文件夹
68
工程<
/p>
”
,完善程序并保存。
< br>
实现功能:
在文本框
Text
1
和
Text2
中分别输入两个整数,
单击
“
交换
”
按钮后,
两个文本框中的数字进行交换。
''
请不要更改源程序的结构,删除原题里的①、②、③、
④。填写正确的代码,
使程序完善
Private Sub Command1_Click()
Dim a As Integer
①
b
Dim
b As Integer
②
t
Dim t As
Integer
③
a
a = Val()
④
b
b = Val()
第
9
页
共
18
页