国家二级VB程序设计题带答案

萌到你眼炸
946次浏览
2021年02月12日 21:45
最佳经验
本文由作者推荐

-

2021年2月12日发(作者:萨陶)


Vb


专项练习第一套题目


1


、打开


“


考生文件夹

< p>
96


工程



”


,完善程序并保存。



实现功能:假设有一个


5


位数密码。只记得密码为


67


□□


8


,其中百位和十位


的 数字记不清了,但知道该密码能够被


78


整除,也能被


67


整除。请完善算法


帮忙找出这个密码。



''


请不要更改源程序的结构,删除原题 里的①、②、③。填写正确的代码,使


程序完善



①



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


是水仙花数。



'


请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程


序完善



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

< p>
”


,


Label1


、


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


”


并设置该控件

< p>
“


Caption


”


属性 值为


“


判断


”


;



(


2


)完 善程序,执行


command1_click


事件,判断出结果 ,如果能搭成三角形


则在文本框


text4

中输出


“


OK


”

< br>,否则输出


“


NO


”

< p>
。



'


请不要更改源程序 的结构,删除原题里的①、②。填写正确的代码,使程序完


善



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


、打开

< p>
“


考生文件夹


40


工程< /p>



”


,完善程序并保存。

< br>


实现功能:


将一张


100


元面值的人民币换成若干


5


元、

< p>
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


元收取 ,输入用水量和用电量,输出应付款。



请打开工程

< p>


文件,按如下要求完成下列操作。



(


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


”


文件夹中的文件:

“


工程



”



进行以下操作后并


保存。


< p>
中国邮政的


EMS


国际快递业务:


中国寄往澳大利亚的快递收费


标准是:首个


0.5


公斤收费


210


元,其余的重量按


55


元


/


千克计


算,


(总重不足


0.5


千克按


210


元


收费)


下面是自动计算寄费的程


序,请完善程序。完成后按


“


Ctrl+W


”


保存程序。


(


详见样张)




'


中国邮政的


EMS


国际快递业务:中


国寄往澳大利亚的快递收费标准是:



'


首个


0.5


公斤 收费


210


元,其余的重量按


55


元


/


每千克计算,(总重不足



'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


工程


< p>
”


,完善程序并保存。



实现功能:随机生成


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>


”


保存程序。


(详


见样张)




'

这是打印乘法九九表的程序,请完善程序。



'

< 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>


的文件:


“


工程



”


进行以下操作


后并保存。

< p>


本题是青蛙跃井问题:井底蛙欲沿


湿滑井壁上跃 至地面,若井深


h


尺,


蛙上跃


3


尺下滑


1


尺,请给出 井深


h


值,


计算蛙上跃次数

< p>
n


。


请你完善程


序。完成 后按


“


Ctrl+W


”


保存程序。


(详见样张)




②



i



③



next



i



5< /p>


、打开


“


考生文件夹

4


工程



”


,完善程序并保存。



实现功能:用穷举法找出所有的


3


位水仙花数的程序并保存。



3


位水仙花数是指一个三位数,其各个数位上的数字之立方和为该数。例如:< /p>


153=1


+5


+3

。



'


请不要更改源程序的结构, 删除原题里的①、②、③。填写正确的代码,使程


3


3


3


'


本题是青蛙跃井问题:井底蛙欲沿湿滑井壁



'


上跃至地面,若井深


h


尺,蛙上跃


3


尺下滑


1


尺,



'


请给出井深


h


值,计算蛙上跃次数

< p>
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


、打开

< p>
“


考生文件夹


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


中输入一位十六进制数码(若是字母要大写),

< p>


'


运行程序后能译出它表示的十进制数的程序。



'


请不要更改源程序的结构,删除原 题里的①、②、③。填写正确的代码,


使程序完善



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


”


保


存程序。


(


详


见样张)




'


请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,

< p>
使程序完善



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


”


文件夹中的文件:


“

工


程



”


进 行以下操作后并保存。



运行程序能够显示数字金字塔,请完善 程序。


完成后按


“


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


”


文 件夹中的文件:


“


工程



”



进行以下操作后并


保存。


< p>
完善程序


,


使之在运行程序后,能在窗体上显示样 张所示的图形。完成后按


“


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


(输入保证能构成三角形,无需判断


正确性)


,输出三角形面积。三角形面积计算公式:



3


、打开


“


考生文件夹


60< /p>


工程



”


,完善程 序并保存。



实现功能:从文本框


t1


中输入一个圆的半径,计算圆的面积,把结果输出到文


本框


t2


中。



'


请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善



Private Sub Command1_Click()


Const pi = 3.14



①


r, s as Single


r = Val(


②


)


s = pi * r * r


=


③



End Sub


①



dim


②





③



s



4


、打开


“


考生文 件夹


32


工程



”


,完善程序并保存。



实现功能:< /p>


从键盘上输入一个三位数,


然后将它反向输出。

< br>例如输入


“


123


”

< p>
,


输出结果为


“


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


、打开

< p>
“


考生文件夹


736


”< /p>


文件夹中的文件:


“


工程



”


进行以下操作后并保


存。< /p>



该题求丢番图年龄问题:丢番图生命的


1/6


是童年,又过了生命的


1/12


长胡子,


再过了生命的


1/7


结婚,婚 后


5


年生儿子,儿子活了父亲年龄的一半死亡,之后

< p>
丢番图又过了


4


年死亡。


求丢番图年龄。


完善程序


,


使之在运行 程序后,


能在


text1


中显示丢番图 年龄。完成后按


“


Ctrl+W


”


保存程序。


(详见样张)





'


该题是求丢番图年龄问题:丢番图生命的


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!


的值。


< p>
'


请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码, 使程


序完善



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


,输出李明家与学校之间的距离

< p>
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


工程



”


,完善程序 并保存。



实现功能:用递归法求斐波那契数列


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


、打开

< p>
“


考生文件夹


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


页


-


-


-


-


-


-


-


-