1、VB期末考试上机题编程答案VB期末考试上机题编程答案1.新建一个工程,编写一个找出所有四位幸运数显示在列表框中,并将幸运 数的个数显示在文本框中。所谓幸运数是指凡前两位数字之和等于后两位数字 之和的四位数。将原窗体文件和工程文件分别另存为为和,保存在 D 盘的VBTest文件夹中。如不按要求保存,造成文件无法上传,后果自负!具体要求:1、 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的 种类,窗体及界面元素大小适中,且均可见;2、 单击查找按钮,则开始查找并在列表框中显示结果,并在文本框中显 示幸运数的个数; 3、单击 “清除”按钮,则将列表框和文本框清空;4、 单击 “退出
2、”按钮,结束程序运行;5、 程序中应包含一个过程,用于判断一个数是否是幸运数。解: Private Sub Command1_Click()Dim i As Integer, a As IntegerFor i = 1000 To 9999If k(i) Then i: a = a + 1Next i= aEnd SubPrivate Sub Command2_Click()一 III!End SubPrivate Sub Command3_Click()EndEnd SubPrivate Function k(n As Integer) As IntegerDim i As Integer,
3、 a As Integer, s1 As Integer, s2 As IntegerDim s As Strings = CStr(n)For i = 1 To Len(s) / 2s1 = s1 + Mid(s, i, 1)s2 = s2 + Mid(s, Len(s) + 1 - i, 1)Next iIf s1 = s2 Then k = TrueEnd Function2.新建一个工程,编写求某一自然数因子和的程序。要求通过文本框获取输 入的自然数,计算后将所计算得到的因子和显示在另一文本框中。将原窗体文 件和工程文件分别另存为为和,保存在 D盘的VBTest文件夹中。如不按要求保
4、存,造成文件无法上传,后果自负!具体要求:1、 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的 种类,窗体及界面元素大小适中,且均可见;2、 单击求和按钮,则在文本框中显示计算得到的因子和;3、 单击 “清除”按钮,则将文本框清空,焦点设置在第一个文本框;4、 单击 “退出 ”按钮,结束程序运行;5、在程序中应包含一个用于计算自然数因子和的函数过程 YinZi(n)。解; Private Sub Command1_Click()Dim n As Integern = ValCall yinzi(n)= yinzi(n)End SubPrivate Function yinzi(
5、n As Integer) As Integer Dim i As IntegerFor i = 1 To n / 2If n Mod i = 0 Then yinzi = yinzi + iNext iEnd FunctionPrivate Sub Command2_Click()一 III!一 III!Text1.SetFocusEnd SubPrivate Sub Command3_Click()EndEnd Sub3.新建一个工程,编写一个程序,判断随机生成的 10 个三位正整数是否是降序数。所谓降序数是指百位数大于十位数且十位数大于个位数的数。将原窗 体文件和工程文件分别另存为为和,
6、保存在 D盘的VBTest文件夹中。如不按要求保存,造成文件无法上传,后果自负!具体要求:1、 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的 种类,窗体及界面元素大小适中,且均可见;2、 单击执行按钮,随机生成 10 个三位正整数,显示在左边的列表框 中,将判断结果参照样图的格式显示在右边的列表框中;3、 单击 “清除”按钮,则将两个列表框清空;4、 单击 “退出 ”按钮,结束程序运行;5、 程序中应包含一个名为 jx 的函数过程,用于判断一个正整数是否为降序 数。解; Private Function jx(n As Integer) As BooleanDim i As
7、IntegerDim a As Integer, b As IntegerFor i = 2 To Len(Str(n)a = Val(Mid(n, i - 1, 1)b = Val(Mid(n, i, 1)If a Len(Str(n) - 1 Then jx = TrueEnd FunctionPrivate Sub command1_click()Dim a(1 To 10) As IntegerDim i As IntegerFor i = 1 To 10a(i) = 1000 + Int(Rnd * 9000)a(i)If jx(a(i) Then a(i)Next iEnd Sub
8、Private Sub Command2_Click()End SubPrivate Sub command3_click()EndEnd Sub4.新建一个工程,统计一个二进制数中 0 的个数和 1 的个数。将原窗体文件 和工程文件分别另存为为和,保存在 D盘的VBTest文件夹中。如不按要求保 存,造成文件无法上传,后果自负!具体要求:1、 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的 种类,窗体及界面元素大小适中,且均可见;2、 第一个文本框用于输入一个二进制数,单击 “统计”按纽,在另外两个文 本框中分别显示 0 和 1 的个数;3、 单击 “清除 ”按纽,将三个文本
9、框内容清除,且光标落在第一个文本框;4、单击 “退出 ”按纽,则结束程序运行;5、程序中应包含一个过程,用于统计字符串中 0和 1的个数。 解; Private Sub Command1_Click()Dim s As String s =Dim a As Integer, b As IntegerCall fun(s)End SubPrivate Sub fun(s As String)Dim i As Integer, a As Integer, b As IntegerFor i = 1 To Len(s)If Mid(s, i, 1) = 0 Thena = a + 1Else: b
10、= b + 1End IfNext i= 0 的个数有 & Val(a) & 个 = 1 的个数有 & Val(b) & 个End SubPrivate Sub command2_click()一 III!III!一 III!End SubPrivate Sub command3_click()EndEnd Sub5.新建一个工程,编写一个程序,找出随机生成的 30 个三位正整数中的升序数。所谓升序数是指百位数小于十位数且十位数小于个位数的数。将原窗体 文件和工程文件分别另存为为和,保存在 D盘的VBTest文件夹中。如不按要求 保存,造成文件无法上传,后果自负!具体要求:1、 程序参考界面如
11、图所示,编程时不得增加或减少界面对象或改变对象的 种类,窗体及界面元素大小适中,且均可见;2、 单击执行按钮,随机生成 30 个三位正整数,按 6个数一行的格式显 示在多行文本框中,再找出其中的升序数输出到列表框;3、 单击 “清除”按钮,则将文本框和列表框清空;4、 单击 “退出 ”按钮,结束程序运行;5、 程序中应包含一个名为 jx 的函数过程,用于判断一个正整数是否为升序 数。解: Private Sub Command1_Click()Dim a(1 To 6, 1 To 5) As IntegerDim i As Integer, j As IntegerFor i = 1 To 6
12、For j = 1 To 5a(i, j) = 10 + Int(Rnd * 20)If jx(a(i, j) = True Then a(i, j)= & a(i, j) & Next j= & vbCrLfNext iEnd SubPrivate Sub Command2_Click()一 III!End SubPrivate Function jx(n As Integer) As IntegerDim i As IntegerDim a As Integer, b As IntegerFor i = 2 To Len(Str(n)a = Val(Mid(n, i - 1, 1) b =
13、 Val(Mid(n, i, 1)If a = b Then Exit For Next iIf i Len(Str(n) - 1 Then jx = True End FunctionPrivate Sub Command3_Click()EndEnd Sub6.新建一个工程,编写一个程序,求两个正整数的最小公倍数。将原窗体文 件和工程文件分别另存为为和,保存在 D盘的VBTest文件夹中。如不按要求保存,造成文件无法上传,后果自负!具体要求:1、 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的 种类,窗体及界面元素大小适中,且均可见;2、 从两个文本框中输入两个正整数,单击
14、 求解按钮,在第三个文本框中 显示求得的这两个数的最小公倍数;3、 单击 “清除”按钮,则将三个文本框清空,并将焦点设置在第一个文本 框;4、 单击 “退出 ”按钮,结束程序运行;5、 程序中应包含一个过程,用于求两个正整数的最小公倍数。解; Private Sub Command1_Click()Dim a, b As Integera = Valb = ValCall gcd(a, b)= gcd(a, b)End SubPrivate Sub Command2_Click()III!一 III!一 III!End SubPrivate Sub Command3_Click()EndEnd
15、 SubPrivate Function gcd(ByVal n As Integer, ByVal m As Integer)Dim r As IntegerDim s As Integer s = m * nDo While n 0 r = m Mod n m = n n = rLoopgcd = s / mEnd Function7.新建一个工程,编写程序找出所有小于 1000 的完数。一个数如果恰好等于它的因子之和,这个数称为完数。一个数的因子是指除了该数本身以外能被 其整除的数。将原窗体文件和工程文件分别另存为为和,保存在 D 盘的 VBTest 文件夹中。如不按要求保存,造成文件无法上传,后果自负!具体要求:1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1