VB练习题含答案_第1页
VB练习题含答案_第2页
VB练习题含答案_第3页
VB练习题含答案_第4页
VB练习题含答案_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一部分1 在窗体上添加一个命令按钮 ( 名称为 Cmd1,标题为 输出平均值 ) 。程序运行后, 单击命令 按钮完成以下工作:随机产生 20个0到 1000的整数,将其放入一个一维数组中求出所有元素的平均值,并显示在窗体上( 如下图所示 )Private Sub Cmd1_Click()Dim a%(19), i%, sum!, aver!RandomizeFor i = 0 To 19a(i) = Int(Rnd * 1001)sum = sum + a(i)Next iaver = sum / 20Print averEnd Sub2 请在名称为 Form1的窗体上添加一个名称为 Tex

2、t1 的文本框和一个名称为 C1、标题为 转换 的命令按钮,如下图所示。在程序运行时,单击转换按钮,可以把 Text1 中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。Private Sub C1_Click()Dim ch As String, ch1 As String, i%ch = Text1For i = 1 To Len(ch)If Asc(Mid(ch, i, 1) = 65 And Asc(Mid(ch, i, 1) max Then max = a(i)Next iPrint maxEnd Sub4 请设计如下图所示窗体界面。程序运行时,在选中一个或两个复选框和一

3、个单选按钮时, 单击命令按钮, 则对文本框中的文本内容做相应的设置。 请编写适当的事件过程, 完成上述 功能。Private Sub Command1_Click()If = True Then= 宋体 Else= 隶书 End IfIf = 1 Then= TrueElse= FalseEnd IfIf = 1 Then= TrueElse= FalseEnd IfEnd Sub5 在名称为 Form1的窗体上添加一个名称为 Text1 的文本框;添加两个标题分别为 对齐方式 、 字体 ,名称分别为 Fm1、Fm2的框架;在 Fm1框架中添加三个单选按钮,标题分别为 左对齐 、居中 、右对齐

4、 ,名称分别为 Opt1、Opt2、Opt3;在Fm2框架中添加两个单选按钮, 标题分别为 宋体、黑体 ,名称分别为 Opt4 、Opt5 。要求:编写五个单选按钮的 Click 事件过程,使程序运行时,单击这些单选按钮,可以 对文本框中的内容实现相应的操作 ( 如图所示 )。Private Sub Opt1_Click()If Opt1 Then = 0End SubPrivate Sub Opt2_Click()If Opt2 Then = 2End SubPrivate Sub Opt3_Click()If Opt3 Then = 1End SubPrivate Sub Opt4_Cli

5、ck()If Opt4 Then = 宋体 End SubPrivate Sub Opt5_Click()If Opt5 Then = 黑体 End Sub6 请设计如下图所示窗体界面。 运行程序时, 先向左侧文本框中输入一个不超过 10 的正整数, 然后选择 N的阶乘 或(N+2) 的阶乘 单选钮,即可进行计算, 计算结果在右侧文本框中显示。 请编写程序完成上述功能。Dim n%Private Sub Form_Load()End SubPrivate Sub Option1_Click()Dim i% n = Val(Text1)m = 1For i = 1 To nm = m * iNe

6、xt iText2 = mEnd SubPrivate Sub Option2_Click()Dim i%m = 1For i = 1 To n + 2m = m * iNext iText2 = mEnd Sub7 在窗体上添加两个文本框和三个标签, 设置它们的属性,达到下图效果。 程序运行时,在 第一个文本框输入一串字符,在第二个文本框中输入一个字符,然后单击 统计命令按钮,统计第二个文本框中字符 ( 大小写被认为是不同的字母 ) 在第一个文本框中出现的次数, 统计 结果在标签 Label3 中显示。Private Sub Command1_Click()Dim i%, n%For i =

7、 1 To Len(Text1)If Mid(Text1, i, 1) = Text2 Then n = n + 1Next iLabel3 = nEnd SubPrivate Sub Label3_Click()End Sub8 在窗体上添加一个文本框和一个命令按钮。程序运行后,单击命令按钮,即可计算出0 200范围内能被 3或 7整除的所有整数的和,并显示在文本框中。程序运行界面如下图所示。Private Sub Command1_Click()Dim i%, sum%For i = 0 To 200If i Mod 3 = 0 Or i Mod 7 = 0 Then sum = sum

8、+ iNext iText1 = sumEnd SubPrivate Sub Text1_Change()End Sub9 请设计如下图所示界面 ( 文本框名称为: Txt1 ,按钮名称为: Cmd1)。程序运行时在文本框 中输入字符串, 点击命令按钮, 判断文本框中的字符串是否是回文, 将判断结果显示在窗体 上。所谓回文是指字符串正序和逆序的结果相同,如“aBCCBa”是回文, “ aBCcBa”不是回文。Private Sub Cmd1_Click()Dim ch As StringFor i = Len(Txt1) To 1 Step -1ch = ch + Mid(Txt1, i, 1

9、)Next i是回文 不是回文 If Txt1 = ch ThenPrint Txt1 + ElsePrint Txt1 + End IfEnd SubPrivate Sub Form_Load()End Sub111110 编程实现求 Sum (n为小于等于 20的整数 )。1!2!3!n!程序运行界面如下图所示。程序运行时,在文本框中输入 n 的值,点击“计算”命令按钮, 将计算结果显示在标签上。Private Sub Command1_Click()Dim i%, m As Long, sum As Double n = Val(Text1)m = 1For i = 1 To n m =

10、 m * i sum = sum + 1 / m Next iLabel2 = sum= & sumEnd SubPrivate Sub Form_Load()End Sub第二部分1 已知在同一个笼子里有总数 M只鸡和兔, 鸡和兔的总脚数为 N只,编程求出鸡和兔各有多少只。要求:程序运行后,在两个文本框中分别输入M和 N的值,单击“计算”命令按钮,在两个标签框中分别输出鸡和兔的数量。程序运行界面如下图。提示:N2M的偶数。Private Sub Command1_Click() m = Val(Text1) n = Val(Text2)If n Mod 2 0 ThenMsgBox ( 脚数

11、必须为偶数 )Text2 = Elsey = n / 2 - mIf y =只数的 2 倍,请重新输入 )Text2 = Elsex = m - yLabel3 = xLabel4 = yEnd IfEnd IfEnd SubPrivate Sub Form_Load()End Sub2 若一个 3位正整数中各位数字的立方和等于该数字本身,则该数称之为“水仙花数”。例 如153是水仙花数,因为 153 = 1*1*1 + 5*5*5 + 3*3*3 。编程求出 100 999之间所有的“水 仙花数”。 要求:程序运行后, 单击“查找”按钮, 在窗体上显示找到的“水仙花数”。 程 序运行界面如下

12、图。Private Sub Command1_Click()Print 水仙花数: ;For i =100 To 999X1 =i Mod 10 分离出个位数X2 =(i Mod 100) 10 分离出十位数x3 =i 100 分离出百位数If i =X1 3 + X2 3 + x3 3 Then Print i;Next iEnd SubPrivate Sub Form_Load()End Sub3 编写程序,要求程序运行后,单击“开始”按钮,随机产生20个学生的成绩 (0 100的整数) ,并在左边图片框中输出 ( 一行5个成绩 ) ,并在右边图片框中输出平均分和及格的人数, 程序运行界面

13、如下图。Private Sub Command1_Click()Dim a(1 To 20) As Integer, i%, n%For i = 1 To 20a(i) = Int(Rnd * 101)a(i);If i Mod 5 = 0 ThenIf a(i) = 60 Then n = n + 1Sum = Sum + a(i)Next i 平均分: ; Sum / 20; 及格人数: ; nEnd SubPrivate Sub Picture2_Click()End Sub4 编写程序实现:程序运行时,单击窗体则显示如下图所示的图案。Private Sub Form_Click()Fo

14、r i = 1 To 5Print Tab(10 - i); String(2 * i - 1, *)Next iFor i = 1 To 4Print Tab(5 + i); String(9 - 2 * i, *)Next iEnd Sub5 编程实现:在窗体中有一个文本框,一个计时器和两个命令按钮。其功能是:程序的运行 时,单击“开始计数”按钮,就开始计数,每间隔 1秒,文本框中的数增加 1;单击“停止计数”按钮,则计数停止。Private Sub Command1_Click()= TrueEnd SubPrivate Sub Command2_Click()= FalseEnd Su

15、bPrivate Sub Form_Load()End SubPrivate Sub Timer1_Timer()Text1 = Val(Text1) + 1End Sub 在属性窗口设置定时器的 interval 属性值为 10006 以下程序运行界面如下图所示。其功能如下:1) 单击 读数据 按钮 (Command1),可将随机产生 100个三位正整数存到数组 a中;2) 单击 计算 按钮 (Command2),则根据从组合框 Combo1中选中的项目, 对数组 a中的数 据计算平均值,并将计算结果四舍五入取整后显示在文本框 Text1 中。题目提供的程序代码不完整,请设计下图界面并录入代

16、码,将程序中的 ? 改为正确的 内容。注意:不能修改程序的其他部分。Private Sub Command1 Click() 题目提供的程序代码:Dim n As IntegerDim a(100) As IntegerFor n = 1 To 100a(n)=Int(Rnd * ? )Next nEnd SubPrivate Sub Command2 Click()Dim x& ,y& , z& ,i% , j% , k%For i = 1 To 100If a(i) Mod ? Thenx = x + a(i) : j = j +1Elsey = y + a(i)?End IfNext k

17、x = Int(x / j +: y = Int(y / k+z = Int(x + y) / (j + k) +Select CaseCase 所有偶数 Text1 = ?Case 所有奇数 Text1 = ?Case 所有数 Text1 = ?End SelectEnd SubDim a(1 To 100) As IntegerPrivate Sub Command1_Click()Dim n As IntegerFor n = 1 To 100a(n) = Int(Rnd * 900 + 100)Next nEnd SubPrivate Sub Command2_Click()Dim x

18、&, y&, z&, i%, j%, k%For i = 1 To 100If a(i) Mod 2 = 0 Thenx = x + a(i): j = j + 1Elsey = y + a(i): k = k + 1End IfNext ix = Int(x / j + : y = Int(y / k + z = Int(x + y) / (j + k) + Select CaseCase 所有偶数 Text1 = xCase 所有奇数 Text1 = yCase 所有数 Text1 = x + yEnd SelectEnd Sub 在 combo1 的属性窗口设置 list 属性,添加列表

19、项Private Sub Label1_Click()10个End Sub7 编写程序。要求:程序运行后,单击“开始”按钮,则随机产生20个 2位数输出到窗体上,每数。同时对所产生的 20个数从小到大排序,将排序后的数再次输出在窗体上。程序运行界面如下图。Private Sub Command1_Click()Dim a%(1 To 20), i%Print 排序前数据排列: For i = 1 To 20a(i) = Int(Rnd * 90 + 10)Print a(i);If i Mod 10 = 0 Then PrintNext iFor i = 1 To 20 冒泡排序For j =

20、 1 To 20 - iIf a(j) a(j + 1) Thent = a(j): a(j) = a(j + 1): a(j + 1) = tEnd IfNext jNext iPrint 排序后数据排列: For i = 1 To 20Print a(i);If i Mod 10 = 0 Then PrintNext iEnd SubPrivate Sub Form_Load()End Sub8 编写程序,程序的功能是:程序运行后,在文本框中输入一串字符 , 单击标题为 统计 的命令按钮, 分别统计输入字符串中大写字母、 小写字母以及其他字符的个数, 并将统计结果分别在相应的标签框中 显示

21、。程序运行界面如下图。Private Sub Command1_Click()Dim i%, m%, n%, z%For i = 1 To Len(Text1)If Asc(Mid(Text1, i, 1) = 65 And Asc(Mid(Text1, i, 1) = 97 And Asc(Mid(Text1, i, 1) max Then max = a(i): imax = iNext iPrintPrintPrint 最大数是: ; max; Spc(5); 位置号是: ; imaxEnd SubPrivate Sub Form_Load()End Sub第三部分1 在窗体 Form1

22、上添加两个文本框, 一个“转换” 命令按钮和三个单选按钮 (名称分别为 Opt1 、Opt2 、 Opt3,标题分别为“大小写转换” 、“全部大写” 、“全部小写” )。程序功能:在上方文本框 Text1 中输 入一字符串,选中“大小写转换” ,单击“转换”按钮后, Text2 中显示大小写相反的字符串;选中 “全部大写” ,单击转换按钮后, Text2 中显示全部大写字符串, 选中“全部小写” ,单击转换按钮后, Text2 中显示全部小写字符串 。程序运行界面如下图。要求: 请按要求完成窗体界面设计 程序的部分代码已给出如下,但不完整。请录入下面代码, 并将“?”处补充完整。Private

23、 Sub Command1_Click()Dim n As Integer, k As Integer, ch As String, a As Stringch = If = True Thenn = Len( ? )For k = 1 To na = Mid$(Text1, k,?)If a = a And a = A And a = a And a = A And a max Then max = a(i)Next iPrintPrint maxEnd SubPrivate Sub Form_Load()End Sub4 在 Form1 的窗体上有一个名称为 Text1 的文本框和两个命令

24、按钮, 命令钮标题分别为 “显示 A”和“显 示 B”。要求程序运行后,如单击“显示A”命令按钮,则弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量 A 构成的字符串;如单击“显示B”命令按钮,也弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量 B 构成的字符串。程序运行时的窗体界面如图 所示。Private Sub Command1_Click()n = Val(InputBox(请输入显示个数 )Text1 = String(n, A)End SubPrivate Sub Command2_Click()n = Val(InputBox(请输入显示个数

25、)Text1 = String(n, B)End SubPrivate Sub Form_Load()End Sub。编程实现:按“开始”按钮,则在窗体5 已知十个数为: 67, 45, 34, 28, 49, 37, 87, 76, 27, 83的第一行显示这十个数,在窗体的第二行按从大到小的顺序显示这十个数。Private Sub Command1_Click()Dim a(), i%a = Array(67, 45, 34, 28, 49, 37, 87, 76, 27, 83)n = UBound(a)For i = 0 To nPrint a(i);Next iFor i = 0 T

26、o n - 1For j = 0 To n - 1 - iIf a(j) max Then max = a(i)Next iPrint maxEnd SubPrivate Sub Form_Load()End Sub8 编程实现:在窗体的两个文本框中分别输入一个正整数,单击“求最大公约数”按钮后,在窗体第 行显示它们的最大公约数。程序运行界面如下图所示。Private Sub Command1_Click()Dim m%, n%m = Val(Text1)n = Val(Text2)If n m Then t = n: n = m: m = tr = m Mod nDo While r 0m

27、= nn = rr = m Mod nLoopPrint Text1; 和 ; Text2; 最大公约数是 :; nEnd SubPrivate Sub Form_Load()End Sub9 编程实现: 在窗体的左上角有一个图像框, 通过属性窗口任选一张图片装入到图像框的 Picture 属性 中,每按一次“放大”按钮时图像放大10%,同理,每按一次“缩小”按钮时图像缩小10%,放大缩小时均需保持图像的纵横比不变,按“结束程序”按钮则结束程序。程序运行界面如下图。Private Sub Command1_Click() = TrueEnd SubPrivate Sub Command2_Cl

28、ick()= TrueEnd SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Form_Load()End Sub10 编程实现:在窗体上建立一个文本框(内容如下图所示) ,另外建立菜单,一级菜单标题分别为“背 景颜色”,子菜单标题分别为“白色” 、“红色”、“绿色”、“蓝色”。程序运行时,如果单击“白色”子菜 单,则将文本框的背景色设置为白色;如果单击“红色”子菜单,则将文本框的背景色设置为红色;如 果单击“绿色”子菜单,则将文本框的背景色设置为绿色;如果单击“蓝色”子菜单,则将文本框的背 景色设置为蓝色。程序运行界面如下图。Priv

29、ate Sub blue_Click()= vbBlueEnd SubPrivate Sub green_Click()= vbGreenEnd SubPrivate Sub red_Click()= vbRedEnd SubPrivate Sub Text1_Change()End SubPrivate Sub white_Click()= vbWhiteEnd Sub第四部分1编程计算分段函数的值。要求用文本框 (TextBox) 输入 x,yx y,(x 0,y 0) xy,(x 0,y 0) 0, (其他情况 )的值,单击标题为“计算”命令按钮后,利用标签控件上显示 z 的值。Priv

30、ate Sub Command1_Click()x = Val(Text1)y = Val(Text2)If x 0 And y 0 Thenz = Sqr(x + y)ElseIf x 0 And y 0 Thenz = Sqr(Abs(x - y)Elsez = 0End IfLabel3 = zEnd SubPrivate Sub Form_Load()End Sub 2、在窗体添加一个命令按钮(标题为“开始” ),单击该按钮,随机产生 10 个三位数( 100 999),在 窗体的第一行这 10 个三位数,在窗体的第二行输出其中的奇数,在窗体的第三行输出其中的偶数。Private Su

31、b Command1_Click()Dim a%(1 To 10), i%For i = 1 To 10a(i) = Int(Rnd * 900 + 100) 随机产生 10 个 100 到 999 的整数Print a(i);Next iPrintFor i = 1 To 10If a(i) Mod 2 0 Then Print a(i); 输出奇数Next iPrintFor i = 1 To 10If a(i) Mod 2 = 0 Then Print a(i); 输出偶数Next iEnd SubPrivate Sub Form_Load()End Subx22z2,(x10,z 0)

32、3编程计算分段函数 y(x30,z 0)的值。要求用 InputBox 函数x z,( 3010,x z)输入 x, z 的值,单击命令按钮(标题为“计算” )后,利用图形框( PictureBox )输出计算结果 y 。Private Sub Command1_Click()x = Val(InputBox(输入 x 的值 )z = Val(InputBox(输入 z 的值 )If x = -10 And z 0 Then y = x 2 + z 2If x 0 Then y = x / zIf x = -30 And x z Then y = Sqr(x - z)End SubPrivat

33、e Sub Form_Load()End Sub4编程计算分 段函数y2 , (x0,(x0)1)x,的值。 要求用 InputBox 函数输入 x,y 的(x1)值,单击命令按钮(标题为“计算” )后,用文本框中输出计算结果 z 。5 编程实现求 Sum=1+( 1+2) + ( 1+2+3) +( 1+2+3+4) + +(1+2+3+4+ + n) 。程序运行时, 在文本框中输入 n 的值,点击“计算”命令按钮,将计算的结果显示在标签上。程序运行界面如下图。Private Sub Command1_Click()Dim n%, sum%, i%, j%n = Val(Text1)For

34、i = 1 To nFor j = 1 To isum = sum + jNext jNext iLabel2 = sum= & sumEnd SubPrivate Sub Form_Load()End Sub6 编写一个程序 , 其功能为输入货物的数量及单价 , 求总价 , 并输出。窗体上的两个标签的标题分别为 货物的数量 ( 个):和货物的单价 ( 元) :, 在两个文本框中输入相应的数据 , 当按“总价”按钮时, 在右下方的图形框中显示原价和折扣价。 当原价达到 2000元以上时, 按8折计算折扣价; 当原价达到 1000 元以上时,按 9折计算折扣价。程序运行界面如下图。Private Sub Command1_Click()zj = Val(Text1) * Val(Text2)If zj 1000 Thenzkj = zjElseIf zj 2000 Thenzkj = zj *Elsezkj = zj *End IfLabel3 = 原 价 : & z

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论