2022年VB练习题含答案 .pdf
《2022年VB练习题含答案 .pdf》由会员分享,可在线阅读,更多相关《2022年VB练习题含答案 .pdf(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 第一部分1 在窗体上添加一个命令按钮(名称为 Cmd1,标题为 输出平均值 )。程序运行后, 单击命令按钮完成以下工作:随机产生 20个0到1000的整数,将其放入一个一维数组中求出所有元素的平均值,并显示在窗体上(如下图所示 )Private Sub Cmd1_Click() Dim a%(19), i%, sum!, aver! Randomize For i = 0 To 19 a(i) = Int(Rnd * 1001) sum = sum + a(i) Next i aver = sum / 20 Print aver End Sub 2 请在名称为 Form1的窗体上添加一个名
2、称为Text1的文本框和一个名称为C1、标题为 转换的命令按钮,如下图所示。在程序运行时,单击转换 按钮,可以把Text1中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。Private Sub C1_Click() Dim ch As String, ch1 As String, i% ch = Text1 For i = 1 To Len(ch) If Asc(Mid(ch, i, 1) = 65 And Asc(Mid(ch, i, 1) max Then max = a(i) Next i Print max End Sub 4 请设计如下图所示窗体界面。程序运行时,在选中一
3、个或两个复选框和一个单选按钮时,单击命令按钮, 则对文本框中的文本内容做相应的设置。请编写适当的事件过程,完成上述功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 30 页 - - - - - - - - - 3 Private Sub Command1_Click() If Option1.Value = True Then Text1.FontName = 宋体 Else Text1.FontName = 隶书 End If If Check1.Value = 1
4、 Then Text1.FontUnderline = True Else Text1.FontUnderline = False End If If Check2.Value = 1 Then Text1.FontItalic = True Else Text1.FontItalic = False End If End Sub 5 在名称为 Form1的窗体上添加一个名称为Text1的文本框;添加两个标题分别为对齐方式、字体 ,名称分别为Fm1、Fm2的框架;在 Fm1框架中添加三个单选按钮,标题分别为左对齐 、居中、右对齐 ,名称分别为 Opt1、Opt2、Opt3;在Fm2框架中添加两
5、个单选按钮,标题分别为宋体 、黑体 ,名称分别为 Opt4、Opt5。要求:编写五个单选按钮的Click 事件过程,使程序运行时,单击这些单选按钮,可以对文本框中的内容实现相应的操作(如图所示 )。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 30 页 - - - - - - - - - 4 Private Sub Opt1_Click() If Opt1 Then Text1.Alignment = 0 End Sub Private Sub Opt2_Click()
6、 If Opt2 Then Text1.Alignment = 2 End Sub Private Sub Opt3_Click() If Opt3 Then Text1.Alignment = 1 End Sub Private Sub Opt4_Click() If Opt4 Then Text1.FontName = 宋体 End Sub Private Sub Opt5_Click() If Opt5 Then Text1.FontName = 黑体 End Sub 6 请设计如下图所示窗体界面。运行程序时,先向左侧文本框中输入一个不超过10的正整数,然后选择 N的阶乘 或(N+2)
7、的阶乘 单选钮,即可进行计算, 计算结果在右侧文本框中显示。请编写程序完成上述功能。Dim n% 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 30 页 - - - - - - - - - 5 Private Sub Form_Load() End Sub Private Sub Option1_Click() Dim i% n = Val(Text1) m = 1 For i = 1 To n m = m * i Next i Text2 = m End Sub Pr
8、ivate Sub Option2_Click() Dim i% m = 1 For i = 1 To n + 2 m = m * i Next i Text2 = m End Sub 7 在窗体上添加两个文本框和三个标签,设置它们的属性,达到下图效果。程序运行时,在第一个文本框输入一串字符,在第二个文本框中输入一个字符,然后单击统计 命令按钮,统计第二个文本框中字符(大小写被认为是不同的字母)在第一个文本框中出现的次数,统计结果在标签 Label3中显示。Private Sub Command1_Click() Dim i%, n% For i = 1 To Len(Text1) If Mi
9、d(Text1, i, 1) = Text2 Then n = n + 1 Next i Label3 = n End Sub 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 30 页 - - - - - - - - - 6 Private Sub Label3_Click() End Sub 8 在窗体上添加一个文本框和一个命令按钮。程序运行后,单击命令按钮,即可计算出0200范围内能被 3或7整除的所有整数的和,并显示在文本框中。程序运行界面如下图所示。Private
10、 Sub Command1_Click() Dim i%, sum% For i = 0 To 200 If i Mod 3 = 0 Or i Mod 7 = 0 Then sum = sum + i Next i Text1 = sum End Sub Private Sub Text1_Change() End Sub 9 请设计如下图所示界面( 文本框名称为: Txt1 ,按钮名称为: Cmd1)。程序运行时在文本框中输入字符串, 点击命令按钮, 判断文本框中的字符串是否是回文,将判断结果显示在窗体上。所谓回文是指字符串正序和逆序的结果相同,如“aBCCBa ”是回文, “aBCcBa
11、”不是回文。Private Sub Cmd1_Click() Dim ch As String For i = Len(Txt1) To 1 Step -1 ch = ch + Mid(Txt1, i, 1) Next i If Txt1 = ch Then Print Txt1 + 是回文 Else Print Txt1 + 不是回文 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 30 页 - - - - - - - - - 7 End If End Sub Priv
12、ate Sub Form_Load() End Sub 10 编程实现求!n1.3121!11!Sum(n 为小于等于20的整数 ) 。程序运行界面如下图所示。程序运行时,在文本框中输入n 的值,点击“计算”命令按钮,将计算结果显示在标签上。Private Sub Command1_Click() Dim i%, m As Long, sum As Double n = Val(Text1) m = 1 For i = 1 To n m = m * i sum = sum + 1 / m Next i Label2 = sum= & sum End Sub Private Sub Form_L
13、oad() End Sub 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 30 页 - - - - - - - - - 8 第二部分1 已知在同一个笼子里有总数M只鸡和兔,鸡和兔的总脚数为N只,编程求出鸡和兔各有多少只。要求:程序运行后,在两个文本框中分别输入M 和N的值,单击 “ 计算” 命令按钮,在两个标签框中分别输出鸡和兔的数量。程序运行界面如下图。提示:N2 M的偶数。Private Sub Command1_Click() m = Val(Text1) n =
14、 Val(Text2) If n Mod 2 0 Then MsgBox ( 脚数必须为偶数) Text2 = Text2.SetFocus Else y = n / 2 - m If y =只数的 2倍,请重新输入) Text2 = Text2.SetFocus Else x = m - y Label3 = x Label4 = y End If End If End Sub Private Sub Form_Load() End Sub 2 若一个 3位正整数中各位数字的立方和等于该数字本身,则该数称之为“ 水仙花数 ” 。例如153是水仙花数,因为153 = 1*1*1 + 5*5*5
15、 + 3*3*3。编程求出 100999之间所有的 “ 水仙花数” 。要求:程序运行后,单击“ 查找 ” 按钮,在窗体上显示找到的“ 水仙花数 ” 。程序运行界面如下图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 30 页 - - - - - - - - - 9 Private Sub Command1_Click() Print 水仙花数: ; For i = 100 To 999 X1 = i Mod 10 分离出个位数X2 = (i Mod 100) 10 分离
16、出十位数x3 = i 100 分离出百位数If i = X1 3 + X2 3 + x3 3 Then Print i; Next i End Sub Private Sub Form_Load() End Sub 3 编写程序,要求程序运行后,单击“开始”按钮,随机产生20个学生的成绩(0 100的整数) ,并在左边图片框中输出 ( 一行5个成绩 ) ,并在右边图片框中输出平均分和及格的人数,程序运行界面如下图。Private Sub Command1_Click() Dim a(1 To 20) As Integer, i%, n% Picture1.Cls Picture2.Cls Fo
17、r i = 1 To 20 a(i) = Int(Rnd * 101) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 30 页 - - - - - - - - - 10 Picture1.Print a(i); If i Mod 5 = 0 Then Picture1.Print If a(i) = 60 Then n = n + 1 Sum = Sum + a(i) Next i Picture2.Print 平均分: ; Sum / 20 Picture2.Prin
18、t ; 及格人数: ; n End Sub Private Sub Picture2_Click() End Sub 4 编写程序实现:程序运行时,单击窗体则显示如下图所示的图案。Private Sub Form_Click() For i = 1 To 5 Print Tab(10 - i); String(2 * i - 1, *) Next i For i = 1 To 4 Print Tab(5 + i); String(9 - 2 * i, *) Next i End Sub 5 编程实现:在窗体中有一个文本框,一个计时器和两个命令按钮。其功能是:程序的运行时,单击 “ 开始计数 ”
19、 按钮,就开始计数,每间隔1秒,文本框中的数增加1;单击 “ 停止计数 ”按钮,则计数停止。Private Sub Command1_Click() Timer1.Enabled = True 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 30 页 - - - - - - - - - 11 End Sub Private Sub Command2_Click() Timer1.Enabled = False End Sub Private Sub Form_Load(
20、) End Sub Private Sub Timer1_Timer() Text1 = Val(Text1) + 1 End Sub 在属性窗口设置定时器的interval 属性值为1000 6 以下程序运行界面如下图所示。其功能如下:1) 单击 读数据 按钮(Command1),可将随机产生100个三位正整数存到数组a中;2) 单击 计算 按钮(Command2),则根据从组合框Combo1中选中的项目,对数组a中的数据计算平均值,并将计算结果四舍五入取整后显示在文本框Text1中。题目提供的程序代码不完整,请设计下图界面并录入代码,将程序中的? 改为正确的内容。注意:不能修改程序的其他部
21、分。题目提供的程序代码:Dim a(100) As Integer Private Sub Command1 Click() Dim n As Integer For n = 1 To 100 a(n)=Int(Rnd * ? ) Next n End Sub Private Sub Command2 Click() Dim x& ,y& , z& ,i% , j% , k% For i = 1 To 100 If a(i) Mod ? Then x = x + a(i) : j = j + 1 Else y = y + a(i) ? End If Next k x = Int(x / j +
22、 0.5):y = Int(y / k + 0.5) z = Int(x + y) / (j + k) + 0.5) Select Case Combo1.Text Case 所有偶数 Text1 = ? Case 所有奇数 Text1 = ? Case 所有数 Text1 = ? End Select End Sub Dim a(1 To 100) As Integer 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 30 页 - - - - - - - - - 12
23、 Private Sub Command1_Click() Dim n As Integer For n = 1 To 100 a(n) = Int(Rnd * 900 + 100) Next n End Sub Private Sub Command2_Click() Dim x&, y&, z&, i%, j%, k% For i = 1 To 100 If a(i) Mod 2 = 0 Then x = x + a(i): j = j + 1 Else y = y + a(i): k = k + 1 End If Next i x = Int(x / j + 0.5): y = Int(
24、y / k + 0.5) z = Int(x + y) / (j + k) + 0.5) Select Case Combo1.Text Case 所有偶数 Text1 = x Case 所有奇数 Text1 = y Case 所有数 Text1 = x + y End Select End Sub 在 combo1 的属性窗口设置list 属性,添加列表项Private Sub Label1_Click() End Sub 7 编写程序。要求:程序运行后,单击“ 开始 ” 按钮,则随机产生20个2位数输出到窗体上,每行10个数。同时对所产生的20个数从小到大排序,将排序后的数再次输出在窗体上
25、。程序运行界面如下图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 30 页 - - - - - - - - - 13 Private Sub Command1_Click() Dim a%(1 To 20), i% Print 排序前数据排列: For i = 1 To 20 a(i) = Int(Rnd * 90 + 10) Print a(i); If i Mod 10 = 0 Then Print Next i For i = 1 To 20 冒泡排序For
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年VB练习题含答案 2022 VB 练习题 答案
限制150内