Vb考试题,VB测试题

Vb考试题,VB测试题

一.选题

1、与传统的编程语言相比,Visual Basic最突出的特点是:

a、结构化编程b、程序开发环境

c、事件驱动编程机制d、程序调试技术

2、赋值语句:执行a=123mid(123456 )、3、2 )后,a变量的值为。

a、\’ 12334\’ B、123 C、12334 D和157

3、保存一个项目至少要保存两个文件。 这两个文件是各自的。

a、文本文件和工程文件b、表格文件和工程文件

c、表格文件和标准模块文件d、类模块文件和工程文件

4、表格Form1标题栏中可以显示“VisualBasic表格”的语句如下:

a、Form1.Name=\’VisualBasic表单\’

b、Form1.Title=\’VisualBasic表单\’

c、Form1.Caption=\’VisualBasic表单\’

d,Form1.Text=\’VisualBasic表单\’

5 .为了加载visual basic APP应用程序

a .仅读取表格文件

b、只列入工程文件

c、分别加载工程文件和标准模块文件

d、分别读取工程文件、表格文件、标准模块文件

6、分配给数组的数据类型是必需的。

a、同样的b、不同的c、模糊d,都是错误的

7、下一个正确的赋值语句是。

a、x y=30 B、y=*r*r C、y=x 30 D、3y=x

8、未包含在VisualBasic 6.0集成环境的主窗口中。

a、标题栏b、菜单栏c、状态栏d、工具栏

9、以下叙述中错误的是( c )。

a、Visual Basic是事件驱动的可视化编程工具

b、visual basic APP应用程序没有明显的开始语句和结束语句

c、Visual Basic工具箱中的所有控件都具有宽度和高度属性(计时器)

d、Visual Basic控件的某些属性只能在运行时设置

10、要使Print方法在Form_Load事件中发挥作用,请设置表单的( c )属性。

a、Backcolor B、ForeColor

c、AutoRedraw D、BackStyle

11、要使命令按钮不可操作,请设置( a )属性。

a、Enabled B、Visible

c、BackColor D、Caption

12、以下叙述中错误的是( b )。

a、一个项目可以包含多个表格文件

b、在某个表格文件中由Private定义的共同流程可以从其他表格中调用

C、VB程序设计时,表单、标准模块、类模块等应分别保存为不同类型的磁盘文件。

d、项目的默认启动对象为Form1

13、Cls方法可以清除表格或图片框的( c )的内容。

a、在设计阶段使用Picture设定的背景位图

b、设计阶段放置的控件

c .执行阶段产生的图形和文字

d,以上也可以

14、设x=3、y=5,则以下式子的值真的成为( c )

a,-35x(and ) y0 ) b,( ) x0 ) eqv ) y0 ) ) ) ) )。

c,( xy ) or ) y0 ) d,x=y And y10

15、设置( d ),避免用户随意将光标放在控件上。

a .将控件的TabIndex属性设置为0

b .将控件的TabStop属性设置为True

c、将控件的TabStop属性设置为False

d、将控件的Enabled属性设置为False

16、判断文本框中是否按下了Enter键,需要通过文本框的( d )事件进行判断。

a、Change B、KeyDown C、Click D、KeyPress

17、以下关于焦点的记述中,错误的是( a )。

a、文本框的TabStop属性为False时,无法接收通过键盘输入的数据

b、文本框失去焦点时,触发LostFocus事件

c、文本框的Enabled属性为False时,其标签顺序不起作用

d、可以通过TabIndex属性改变Tab顺序

18、如果将文本框的Enabled属性设置为False,则为( a )。

a、文本框中的文本变为灰色,用户无法将光标放在文本框中。

b、文本框中的文本变为灰色,用户可以将光标放在文本框中,但不能更改文本框的内容。

c、文本框中的文本变为灰色,用户可以改变文本框的内容。

D、文本框中的文本显示正常,用户可以将光标置于文本框中,但不能更改文本框的内容。

19、程序运行后,在表单上点击鼠标。 此时,表单未接收到的事件为( c )。

a、MouseDown B、MouseUp

c、Load D、Click

20、图像框具有根据图像框的大小自动调整图形大小的属性。 此属性为( b )。

a、Autosize B、Stretch

c、AutoRedraw D、Appearance

21、为了防止用户随意将光标放在控件上,需要设置的属性为( d )。

a .将控件的TabIndex属性设置为0

b .将控件的TabStop属性设置为True

c、将控件的TabStop属性设置为False

d、将控件的Enabled属性设置为False

22、无论控件如何,共同拥有的是( b )属性。

a、Text B、Name

c、ForeColor D、Caption

23、在以下关于表格的说明中,错误的是( a )。

a、执行Unload Form1语句时,表单Form1消失,但仍在内存中

b、加载表单时发生表单加载事件

c .如果表单的Enabled属性为False,则禁止使用鼠标和键盘操作表单

d、表单的Height和Width属性用于设置表单的高度和宽度

24、当执行程序时,系统自动执行表格的( a )事件处理。

a、Load B、Click

c、Unload D、GotFocus

25、表单设计师是为了设计( b )。

a、APP应用程序的代码段b、APP应用程序的接口

c、对象的属性d、对象的事件

26、VisualBasic是一种面向对象的可视化编程语言,采用了( a )的编程机制。

a、事件驱动b、按流程顺序执行

c、从主程序中执行d,按模块顺序执行

27、决定控件在窗体上的位置的属性是( d )。

a、Width或Height B、Width、Height

c、Top或Left D、Top、Left

28、更改表格标题时,设置的属性为( a )。

a、Caption B、Name

c、BackColor D、BorderStyle

29、以下叙述中错误的是( c )。

a、打开项目文件时,系统会自动加载与该项目相关的表单、标准模块等文件

b、保存Visual Basic程序时,应分别保存表格文件和工程文件

c、visual basic APP应用只能通过解释来执行

d、该事件可以由用户发起或由系统发起

30、以下叙述中错误的是( b )。

a、双击鼠标将触发DblClick事件

b、窗体或控件事件的名称可以由程序员确定

c、移动鼠标将触发MouseMove事件

d、控件的名称可以由程序员设置

31、VisualBasic中最基本的对象是( c )。 这是APP的基础,也是其他控件的容器。

a、文本框b、命令按钮

c、表格d和标签

32、以下叙述中正确的是( a )。

a、表单的Name属性指定用于标识表单的表单的名称

b、表单的Name属性的值是显示在表单标题栏中的文本

c、可以在运行过程中更改对象的Name属性值

d,对象的Name属性值可以为空

33、在设计阶段,双击窗体上的控件,打开的窗口为( c )。

a .工程资源管理器窗口b、工具箱窗口

c、代码窗口d、属性窗口

34、VisualBasic是面向对象的可视化编程语言,采用的编程机制是( a )。

a、事件驱动b、按流程顺序执行

c、从主程序中执行d,按模块顺序执行

35、用于设定粗体的属性为( c )。

a、FontItalic B、FontName

c、FontBold D、FontSize

36、如果一个项目包含多个表格和标准模块,以下描述中错误的是( a )。

答、如果项目包含Sub Main流程,则程序必须首先执行该流程

b .无法将标准模块设置为启动模块

C、Hide方法只能隐藏表单,而不能从内存中清除表单

d,在任何时刻,最多只有一个表单是活动表单

37、使用( a )将焦点移动到文本框。

a、SetFocus B、Visible

c、Refresh D、GetFocus

38、基于INT的随机整数闭区间为。

a,[ 0,99 ] b,[ 1,100 ]

c,[ 0,100 ] d,[ 1,99 ]

39、在命令按钮中显示图形文件时,请设置命令按钮的( b )。

a、Style和Graphics属性b、Style和Picture属性

c、Caption属性d、Graphics属性

40、设置( a )属性使命令按钮不可操作。

a、Enabled B、Visible

c、BackColor D、Caption

41、将格式的名称设为Form1,将格式的标题设定为“VB_Test”的语句设为( b )。

a、form1=“VB _ test”b、Form1.Caption=“VB_Test”

c、form1. text=“VB _ test”d、Form1.name=“VB_Test”

42、以下记述中错误的是( a )。

答.工程资源管理器窗口只能包含一个项目文件和属于该项目的其他文件

b .以bas为扩展名的文件是标准模块文件

c、表单文件包含表单及其控件的属性

D、一个项目可以包含多个标准模块文件

43、为了得到文本框的输入焦点,应该采用文本框控件的哪种方法( a )。

a、GotFocus B、LostFocus

c、KeyPress D、SetFocus

44、“工程资源管理器”窗口中不能列出的以下文件类型为( b ) :

a, bas B, res C, frm D, ocx

45、建立新的标准EXE项目后,不出现在工具箱中的控件是( c )。

a、单选按钮b、图像框c、通用对话框d、文本框

46、以下叙述中错误的是( b )。

a、双击鼠标将触发DblClick事件

b、窗体或控件事件的名称可以由程序员确定

c、移动鼠标将触发MouseMove事件

d、控件的名称可以由程序员设置

47、可以触发文本框Change事件的操作是( d )。

a、文本框失去焦点b、文本框获得焦点

c、设定文本框的焦点d,改变文本框的内容

48、以下记述中错误的是( c )。

a、一个项目只有一个次主过程

b、表单的Show方法的作用是将指定的表单读入内存并显示该表单

c、窗体的Hide和Unload方法的作用完全相同

d、如果项目文件中有多个表单,则可以根据需要指定一个表单作为启动表单

49、语句printabs(-6^2) int )-6^2)的输出结果为) a )。

a、0 B、1 C、-1 D、-72

50 .将布尔常数值TRUE代入整数变量后,整数变量的值为( b )。

a、0 B、-1 C、TRUE D、FALSE

51、函数string(n,\’ str \’ )的功能是( b )。

a、将数值型数据转换为字符串

返回由b、n个字符组成的字符串

c、从字符串中取出n个字符

d、从字符串中第n个字符的位置开始取子字符串

52、语句printformat(“helloworld”,“”)的输出结果为) c )。

a、hello WORLD B、hello world

c、HELLO WORLD D、HELLO world

53、声明符号常数时应该使用关键词( b )。

a、Static B、Const C、Private D和Variant

54、要强制显示声明变量,请在表单模块或标准模块的声明部分中添加语句( b )。

a、Option Base 0 B、Option Explicit

c、Option Base 1 D、Option Compare

55、以下VisualBasic变量名可使用的是( d )。

a、A#A B、4A C、 xy D,constA

56、如果执行语句Printa b c,a=10,b=5,c=1,则表单将显示( B )。

a、True B、False C、1 D、错误信息

57、运行x$=string(6,\’ 124abc \’ )后,x的值为( b )。

a、124abc B、111111 C、124 D和abc

58、假设a=6,则在执行了x=IIF(a5,- 1,0 )之后,x的值为

a、5 B、6 C、0 D、-1

59、执行语句: c$=“glad”mid$(“nicetomeetyou”,5,3 ),变量c$的值为) c )。

a、Nice to meet you B、Glad Nice to meet you

c、Glad to D、Glad

60、下( d )是合法的字符常数。

a、ABC$ B、\’ ABC\’ C、\’ ABC\’ D、ABC

61、对于句子Ifx=1 Then y=1,以下说法是正确的。

a,x=1,y=1都是赋值语句

b、x=1、y=1都是关系式

c,x=1是关系式,y=1是赋值语句

d,x=1是赋值语句,y=1是关系式

62、声明: DimX As Integer,如果SgN(x )的值为-1,则x的值为( ) d )。

a、等于任意整数b、0 C、0的整数d、小于0的数

63、每行写多个句子时,每个句子用( b )符号隔开。

a,b, c,d,

64、通过键盘输入2个字符串,分别保存在变量str1、str2中。 用于确定第二个字符串在第一个字符串中的开始位置的函数是( d )。

a、Left B、Mid C、String D、Instr

65、S=\’中华人民共和国\’,表达式Left Right Mid的值为

a、“中华民国”b、“中国人民”

c、“中共人民”d、“人民共和国”

66、可以作为Visual Basic的变量名使用的是( a )。

a、Filename B、a(ab ) c、254D D和Print

67、下( a )为合法变量名。

a、X_yz B、123abc C、Integer D、X-Y

68、以下变量名不正确的是。

a、xyz123 B、printaa C、boolean D和Bernald

69、变量声明:设置DimTestDate As Date并正确为变量TestDate赋值的表达方式为( a )。

a、TextDate=#1/1/2002#

b、test date=#“1/1/2002”#

c、textdate=date(「1/1/2002”)

d、testdate=format(「m/d/YY \”、\”1/1/2002 \”

70、a=2、b=3、c=4、d=5,式abAND c=d的值为( b )。

a、True B、False C、-1 D、1

71、表达式6*8Mod 9的值为( b )。

a、4 B、3 C、6 D和7

72、假设变量bool_x是布尔型(逻辑型)变量,以下正确的赋值语句为

a、bool_x=\’False\’ B、bool_x=.False。

c、bool_x=#False# D、bool_x=False

73、a=“VisualBasic”,接下来b=“Basic”的语句是( b )。

a,b=left(a,8,12 ) b,b=Mid(a ) a,8,5 ) ) ) ) ) ) ) ) ) ) )。

c,b=rigth(a,5,5 ) d,b=Left(a ) a,8,5 ) ) ) ) ) ) ) )。

74、语句printformat$(32548.5,“##”、## )的输出结果为。

a、32548.5 B、32,548.5 c、032,548.50 d、32,548.50

75、以下声明中错误的是( d )。

a、Const var1=123 B,Dim var2=\’ABC \’

c、Dim x_y_z% D、Static var3 As Integer

76、可以同时删除字符串开头和末尾空白的函数是( c )。

a、Ltrim B、Rtrim C、Trim D、Mid

77、以下合法变量名可以是( d )。

a、Integer B、False C、public D、thanksgiving

78、如果变量未赋值,则数值型变量的值为( a )。

a,0 B,空c,1 D,没有任何值

79、表达式16/4-2^5*8/4 Mod 5\\2的值为( b )。

a、14 B、4 C、20 D和2

确实80、以下If语句统计符合性别为男性、职称为副教授以上、年龄未满40岁条件的人数,非法语句为。

a、If sex=\’男\’ andage< 40and(duty=\’教授\’ Or duty=\’副教授\’) Then n=n 1

b、If sex=\’男\’ andage< 40andinstr(duty,\’教授\’) ) > 0 Then n=n 1

c、If sex=\’男人\’ andage< 40andright(duty,2 )=\’教授\’ Then n=n 1

d、If sex=\’男人\’ And age< 40 And duty=\’教授\’ And duty=\’副教授\’ Then n=n 1

81、设a=3、b=5,则以下的式子的值真的成为( b )。

a、a=b And b10

b,( ab )或( B0 ) )。

c,A0 (或) B0 ) )。

d,(-3 5a ) and ) B0 ) ) ) ) ) ) ) )。

82、执行语句a=inputbox(\’Today”、“Tomorrow”、“Yesterday”、“Daybefore yesterday”、5 )时,显示输入对话框。 对话框输入区域中显示的信息为) a )

a、Today

b、Tomorrow

c、Yesterday

d、Day before Yesterday

83、VB提供了结构化编程的三个基本结构,这三个基本结构是。

a .递归结构、分支结构、循环结构

b .选择结构、进程结构、顺序结构

c .过程结构、输入输出结构、转向结构

d、分支结构、循环结构、顺序结构

84、以下If语句统计符合性别为男性、职称为副教授以上、年龄未满40岁条件的人数,不正确的语句为。

a、If sex=“男人”andage< 40andinstr(duty,“教授”) > 0 Then n=n 1

b,If sex=“男人”andage< 40and(duty=“教授”Or duty=“助教”) Then n=n 1

c、If sex=“男人”andage< 40andright(duty,2 )=“教授”Then n=n 1

d、If sex=“男人”And age< 40 And duty=“教授”And duty=“副教授”Then n=n 1

85、执行语句w=IIF(410,“Red”,“Green”)后,变量w的值为。

a、Null

b、“红”

c、“绿色”

d,-1

86、赋值语句:执行a=123mid(“123456”,3,2 )后,a变量的值为。

a、“12334”

b、123

12334

d,157

87、语句x=inputbox(「aaaa”、“BBBB”、“”) ) ) ),程序执行后生成的对话框的标题是( c ) )。

a、AAAA

b .空

c、BBBB

d,错误,无法生成对话框

88、下一个正确的赋值语句是。

a,x y=30

b、y=*r*r

c,y=x 30

d,3y=x

89、VB给出了结构化编程的三个基本结构,三个基本结构是( d )。

a .递归结构、选择结构和循环结构

b .选择结构、进程结构、顺序结构

c .过程结构、输入输出结构、转向结构

d .选择结构、循环结构和顺序结构

90、下一块求两个个数中的大数,不正确的是。

a、max=IIF(x> y,x,y ) ) ) ) ) ) ) )。

b、If x> y Then Max=xElse Max=y

c、Max=x:If y>=x Then Max=y

d、If y> x Then Max=y :Max=x

91、以下方框:执行Dim x If x Then Print x Else Print x 1后,显示的结果如下:

a,1

b,0

c,-1

d、错误

92、不属于vb三个基本结构的是?

a、顺序结构

b .选择结构

c .递归结构

d .循环结构

93、句子Ifx=1 Then y=1,以下说法正确。

a,x=1,y=1都是赋值语句

b、x=1、y=1都是关系式

c,x=1是关系式,y=1是赋值语句

d,x=1是赋值语句,y=1是关系式

94、赋值语句:执行a=123mid(“123456”,3,2 )后,a变量的值为。

a、“12334”

b、123

12334

d,157

95、下一个方框显示结果。

Dim x

x=int(rnd ) 5

Select Case x

第5类

“优秀”

第4类

打印“良好”

第3类

打印“路径”

Case Else

打印“不通过”

结束选择

a .优秀

b、良好

c .通过

d、不通过

为了向96、x、y和z这三个变量提供初始值1,以下正确的赋值语句为:

a、x=1:y=1:z=1

b,x=1,y=1,z=1

c,x=y=z=1

d,xyz=1

97、以下句子正确的是

a、If AB Then Print\’A不等于b \’

b、If AB Then Printf A不等于b

c、If AB Then Print \’A不等于b \’

d、If AB Print\’A不等于b \’

98、有语句x$=InputBox (“输入数值”、“0”、“例”),运行程序后,从键盘输入数值10并按回车键,以下记述中正确的是( d )。

a、变量x的值为数值10

b、InputBox对话框的标题栏中显示“示例”

c、0为默认值

d,变量x的值为字符串“10”

99、运行以下段时,将显示结果J1=4: J2=9if J1 J2 thenprintj2elseprintj 1

a、4

b、9

c、13

d,49

100、InputBox函数的返回类型为( b )。

a、数值

b .字符串

c .备选方案

d、数值或字符串

101、如果数组说明是dima ( 0to 5,1to5) As Integer,则数组共享元素。

a、25

b、36

c、30

d、不确定

102、在数组声明语句dima(2to3,- 2to 2,3to5)中,在数组a中包含的元素的个数是) c )。

a.120

b、75

c、30

d,13

103、在前面的问题句子前加入Option Base 1的话,数组共有个要素。

a、15

b、16

c、13

d、不确定

104、如果声明dima(15 ) As Integer,则数组共享元素。

a、15

b、16

c、13

d、不确定

在阵列的说明是dima ( 5,1to5) As Integer的情况下,阵列共享元素。

a、25

b、36

c、30

d、不确定

在106,在VB中,默认数组下标的下限从0开始,并且使用在公共声明段中定义下限。

a、选项基础

b、Option Explicit

c、Explicit

d,Low Base

107、如以下数组声明,正确的是( b )。

a、dima [ 3,4 ] as integer

b、dima ( 3,4 ) as Integer

c、dima(n,n ) as Integer

d、dima[3][4]asinteger

108、分配给数组的数据必须具有值类型。

a、同

b,不

c .模棱两可

d,都错了

109、数组下标所需的变量类型为。

a .数字类型

b .字符类型

c .日期类型

d、可变类型

10、在数组声明语句dima(0to3,- 2to 2,0to5)中,在数组a中包含的元素的个数是) a )。

a.120

b、75

C,60

d,13

11、subs(xassingle,y As Single ) t=x x=t/y y=t Mod y End Sub将命令按钮添加到表单中,然后private sub command1_ click ( dimassssick )

a、五四

b、1 1

c、1.25 4

d、1.25 1

12、声明如下的变量可以在整个程序中通用吗?

a、在表单模块中用Dim声明

b、在表单模块中用Public声明

c、在表单模块中用Private声明

d、在表单模块中用静态声明

13、在窗体中添加命令按钮和三个标签,并创建事件过程: privatexasintegerprivatesubcommand1_ click ( staticyasintegerdimzasintegern=

a、10 10 10

b、30 30 30

c、30 30 10

d、10 30 30

14、以下记述中错误的是( d )。

a、如果将过程定义为静态类型,则过程中的所有局部变量都是静态类型

b、不能在子流程中嵌套定义子流程

C、可以在Sub进程中嵌套调用Sub进程

d、事件过程可以像通用过程一样由用户定义过程名称

15、在窗体中添加命令按钮Command1和文本框Text1,并创建以下事件过程:

Private Sub Command1_Click (

Dim x As Integer,y As Integer,z AsInteger

x=5

y=7

z=0

Text1.Text=\’ \’

呼叫P1 ( x,y,z ) )。

text1.text=str(z )

endsubprivatesubp1( byvalaasinteger,ByVal b As Integer,c As Integer ) )。

c=a b

结束子

运行程序后,单击命令按钮的结果如下:

a、12

b,0

c、str(z ) )。

d、不显示结果

116、在程序中将a定义为静态变量,使其成为整数时,应该使用的语句是:

a、Redim a As Integer

b、Static a As Integer

c、Public a As Integer

d、Dim a As Integer

117、以下程序的执行结果是

SUBS1(b ) As Integer ) )。

For i=1 To 4

b(I )=2 * i

下一步

结束子

Private Sub Command1_Click (

dima(1to4) As Integer

For i=1 To 4

a(I )=i 5

下一步

s1 a ( ) ) )。

For i=1 To 4

printa(I )。

Nexti

结束子

a、12 14 16 18

b、67、8和9

c、2 4 6 8

d、1 2 3 4

18、以下程序的执行结果为。 functionf(masinteger ) as integer b=1staticcasintegerb=b1c=c1f=m * b * cendfunctionprivatesubcommand1_ click ( ) )

a、12

b、28

c、32

d,24

119、以下程序输出结果。

Private Sub Command1_Click (

For i=1 To 10

GetValue i

下一步

打印获取( I )。

结束子

privatefunctiongetvalue ( byvalaasinteger )状态s as integer s=s a

GetValue=S

结束函数

a、10

b,65

c、66

d,11

120、对于过程中定义的变量,如果希望在离开过程后仍保存过程中局部变量的值,则必须使用( d )关键字在过程中定义局部变量。

a、Dim

b、私有

c、公共

d,静态

121、在流程定义中用( c )表示形参的传递值。

a、Var

b、ByDef

c、ByVal

d,Value

122、在窗体中添加命令按钮Command1和两个标签,分别为Label1和Label2。 为privatexasintegerprivatesubcommand1_ click ( x=5: y=3call proc )创建事件流程y ) label1. caption=xlabel2. caption 运行ByVal bAs Integer ) X=a * a y=b b End Sub程序,然后单击命令按钮

a、二十五和三

b、25和6

c、五、三

d、五、六

123、以下程序的执行结果为。 Dim x As Integer,y As Integer,zasintegersubS1(aasinteger,b As Integer ) ) ) ) ) )。

Dim c As Integer

a=2 * a b=b 2 c=a b

结束子

SUBS2(aasinteger,ByValb As Integer ) )。

Dim c As Integer

a=2 * a

b=b 2

c=a b

结束子

Private Sub Command1_Click (

x=4:y=:4 z=6

呼叫1 ( x,y ) )。

打印x y z

呼叫2 ( x,y ) )。

打印x y z

结束子

24 28

b、20 28

c、20 18

d,20 20

124、以下有关工艺及工艺参数的描述中,错误的是( c )。

a、过程的参数可以是控制名称

b、使用数组作为流程的参数时,使用“传递地址”方式

c、只有函数过程可以将由过程处理的信息返回给调用的程序

d、表单可以作为流程的参数

125、VisualBasic的合法排列要素如下

a、x8

b、x[8]

c、s(0) )。

d,v[8]。

126、以下陈述中正确的是( c )。

a、在表单的Form_Load事件期间定义的变量是全局变量

b、局部变量的作用域可以超出定义的过程

c .在一个Sub流程中定义的局部变量可以与在其他事件流程中定义的局部变量同名,但其范围仅限于该流程

d、调用过程时,所有局部变量都由系统初始化为0或空字符串

127、functionfun(sasstring ) asstring dim S1 asstring fori=1tolen ) s ) S1=ucase(mid ) s,I, 1 )将命令按钮添加到s1 Next i Fun=s1 End Function表单中,然后单击private sub command1_ click ( dimstr1asstring, str2 As String str1=InputBox (请输入字符串( str2=fun ) str1)运行打印str2end sub程序后,单击命令按钮,在输入对话框中输入字符串“abcdd

a、abcdefg

b、gfedcba

c、GFEDCBA

d、ABCDEFG

128、如果已经创建了Sort子过程,则该项目的形式有多种,应该将该过程置于( b )以方便调用Sort子过程。

a .表格模块

b .标准模块

c .类模块

d、工程

129、以下子进程语句是合法的

a、Sub f1

b、Function f1 As Integer

c、Sub f1As Integer

d、Function f1As Integer

130、对于过程中定义的变量,如果希望在离开过程后仍保存过程中局部变量的值,则必须使用( d )关键字在过程中定义局部变量。

a、Dim

b、私有

c、公共

d,静态

131、在窗体上绘制三个单选按钮,构成chkOption的控制数组。 用于标识各个控制数组元素的参数为( d )。

a、Tag

b、索引

c、ListIndex

d,Name

132、列表框中有4个数据项时,在列表框末尾追加数据项“China”时,请使用( d )语句。

a、List1.AddItem 3,\’ China \’

b、List1.AddItem \’China \’,List1.List1Count-1

c、List1.AddItem \’China \’,3

d,List1.AddItem \’China \’

133、如果列表框中没有选定项,则执行list1. remove item list1. listindex语句的结果为( d )。

a .删除第一项

b .删除最后一项

c、删除最后添加到列表中的项目

d、以上是错误的

134、以下记述中错误的是( c )。

a、在KeyUp和KeyDown事件中,如果从键盘输入a或a,则会被视为相同的字符。 也就是说,有同样的KeyCode。

b、在KeyUp和KeyDown事件期间,将键盘上的“1”和右侧小键盘上的“1”视为不同的数字(具有不同的KeyCode ) )。

c、KeyPress事件无法识别键盘上某个键的按下和释放

d、KeyPress事件可以识别键盘上某个键的按下和释放

135、假设组合框Combo1有三个项目,则可以删除以下最后一个项目的语句是( b )。

a、Combo1.RemoveItem Text

b、Combo1.RemoveItem 2

c、Combo1.RemoveItem 3

d、combo1. remove item combo1. list count

136、以下控件中没有Caption属性的是( b ) :

a .框架

b .列表框

c .复选框

d、单选按钮

137、引用列表框中最后一个数据项应使用的表达式是

a、list1.list(list1.listcount ) )。

b、list1.list(listcount ) )。

c、list1.list(list1.listcount-1 ) )。

d,list1.list(listcount-1 ) )。

138、格式的MouseDown事件过程form_mousedown(Buttonasinteger,Shift As Integer,X As Single,Y As Single ) )有四个参数,其中

a、用Button参数判断现在按下了哪个鼠标按钮

b、Shift参数只能用于确定是否按下了Shift键

c、Shift参数只能用于确定是否按Alt和Ctrl键

d、参数x、y用于设定鼠标当前位置的坐标

139、如果复选框的Value属性为1,则表示( b )。

a .复选框未被选中

b .选中复选框

c、复选框内有灰色复选标记

d、复选框操作有误。

140、引用列表框的最后一项请使用( a )。

a、list1.list(list1.listcount-1 ) )。

b、list1.list(list1.listcount ) )。

c、list1.list(listcount ) )。

d,list1.list(listcount-1 ) )。

141、假设表单中有列表框控件List1,其中包含了几个列表项目。 ( d )可以表示当前选择的列表项目的内容。

a、List1.List

b、List1.ListIndex

c、List1.Index

d,List1.Text

142、表示滚动条控件所取值的范围的最大值的属性是( a )。

a、Max

b、语言变更

c、Value

d,Max-Min

143、按下Esc键时用于执行某个命令按钮的Click事件

程,需要把该命令按钮的一个属性设置为True,这个属性是(D)。

A、Value

B、Default

C、Cancel

D、Enabled

144、假如列表框有四个数据项,那么把数据项“China”添加到列表框的最后,应使用语句(D)。

A、List1.AddItem 3, \”China\”

B、List1.AddItem \”China\”, List1.List1Count-1

C、List1.AddItem \”China\”, 3

D、List1.AddItem \”China\”, List1.List1Count

145、复选框的Value属性为2时,表示(C)。

A、复选框未被选中

B、复选框被选中

C、复选框内有灰色的勾

D、复选框操作有错误。

146、为了在按下回车键时执行某个命令按钮的事件过程,需要把该命令按钮的一个属性设置为True,这个属性是(A)。

A、Value

B、Default

C、Cancel

D、Caption

147、下面说法不正确的是?

A、层菜单不允许设置快捷键

B、使菜单项中的文字具有下画线,可在标题文字前加&符号

C、一菜单项名为MenuTerm,则语句MenuTerm.Enable = Flase 将使该菜单项失效

D、希望在菜单中显示\”&\”符号,则在标题栏中输入\”&\”符号

148、以下叙述中错误的是(C)。

A、在程序运行时,通用对话框控件是不可见的

B、在同一个程序中,用不同的方法(如ShowOpen或ShowSave等)打开的通用对话框具有不同的作用

C、调用通用对话框控件的ShowOpen方法,可以直接打开在该通用对话框中指定的文件

D、调用通用对话框控件的ShowColor方法,可以打开颜色对话框

149、菜单编辑器中,输入哪一个选项会在菜单栏上显示文本

A、标题

B、名称

C、索引

D、访问键

150、菜单控件只有一个事件

A、MouseUp

B、Click

C、DBClick

D、KeyPress

151、在用通用对话框控件建立“打开”或“保存”文件对话框时,如果需要指定文件列表框所列出的文件类型是文本文件(即.txt文件),则正确的描述格式是(A)。

A、“text (.txt)|(*.txt)”

B、“文本文件( .txt) | (.txt)”

C、“text(.txt)||(*.txt)”

D、“text(.txt)(*.txt)”

152、下面哪个属性可以控制菜单项可见或不可见

A、Hide

B、Checked

C、Visible

D、Enabled

153、下面说法不正确的是

A、层菜单不允许设置快捷键

B、使菜单项中的文字具有下画线,可在标题文字前加&符号。

C、一菜单项名为MenuTerm,则语句MenuTerm.Enabled = Flase 将使该菜单项失效。

D、希望在菜单中显示“&”符号,则在标题栏中输入“&”符号。

154、下面哪个属性可以控制菜单项可见或不可见?

A、Hide

B、Checked

C、Visible

D、Enabled

155、改变驱动器列表框的Drive属性将激活事件。

A、Change

B、Scroll

C、KeyDown

D、KeyUp

156、在窗体上建立通用对话框需要添加的控件是

A、Data控件

B、Form控件

C、CommonDialog控件

D、VBComboBox控件

157、下面几个关键字均表示文件的打开方式,只能进行读不能写的是。

A、Input

B、Output

C、Random

D、Append

158、为建一个随机文件,其中每一条记录由多个不同数据类型的数据项组成,应使用。

A、记录类型

B、数组

C、字符串类型

D、变体类型

159、下列说法错误的是。

A、当用Write # 语句写顺序文件时,文件必须以Output或Append方式打开

B、用Open语句打开一个文件时,对同一个文件可以用几个不同的文件号打开

C、用Output和Append方式打开文件时,不用将文件关闭,就能重新打开文件

D、用Append方式打开文件时,进行写操作,写入文件的数据附加到原来文件的后面

160、执行语句Open\”Sample.dat\” For Random As #1 Len = 50 后,对文件\”Sample.dat\”中的数据能够进行的操作是(C)。

A、只能写不能读

B、只能读不能写

C、即可以读,也可以写

D、不能读,也不能写

1,下面程序对已知数组a,删除数组中数组元素中某个元素

Private Sub Command1_Click()

Dim a(), key%, i%, j%

a = Array(1, 6, 8, 3, 5, 9, 10, 2, 7, 4)

key = Val(InputBox(\”输入要删除的值\”))

For i = 0 To UBound(a)

If key = a(i) Then

Forj = i + 1 To UBound(a)

a(j – 1) = a(j)

Nextj

ReDim Preserve a(UBound(a) – 1)

MsgBox (\”删除完成\”)

ExitSub

End If

Next i

MsgBox (\”找不到要删除的元素\”)

End Sub

2,下列程序表示将输入的一个数插入到按递减的有序数列中,插入后使该序列仍有序

Private Sub Form_Click()

Dim a, i%, n%, m%

a = Array(19, 17, 15, 13, 11, 9, 7, 5, 3,1)

n = UBound(a)

ReDim Preserve a(n + 1)

m = Val(InputBox(\”输入欲插入的数\”))

For i = UBound(a) – 1 To 0 Step -1

If m >= a(i) Then

a(i + 1) = a(i)

If i = 0 Then a(i) = m

Else

a(i + 1) = m

Exit For

End If

Next i

For i = 0 To UBound(a)

Print a(i)

Next i

End Sub

3,下列程序在1000~9999之间查找满足如下条件的整数:该整数,逆向排列得到的

另一个四位数是它自身的倍数。查找结果和逆向排列数分别显示在对应

的列表框

Private Sub Command1_Click()

Dim n As Integer

Dim m As Integer

Dim i As Integer

For i = 1000 To 9999

m= 0

n = i

DoWhile n > 0

m = m * 10 + n Mod 10

n = n \\ 10

Loop

If m Mod i=0And m \\ i > 1 Then

list1.AddItem i

list2.AddItem m & \”=\” & i& \”*\” & m \\ i

End If

Next i

End Sub

4,将100~150之间的偶数,拆分成两个素数之和,最后输出格式如图。其中,prime函数判断

参数x是否为质数

Private Function prime(ByVal x As Integer)As Boolean

prime = ture

For i = 2 To Sqr(x)

If x Mod i = 0 Then

prime = False

Exit Function

End If

Next i

End Function

Private Sub Form_Load()

i = 1

For n = 100 To150

For k = 3 To n / 2

Ifprime(k) And prime(n – k) Then

Print i; \”:\”; \”=\”; k; \”+\”; n – k

Exit For

End If

Next k

i = i + 1

Next n

End Sub

10,

子过程F对一个四位数n整整数判断:已知该整数n,逆向排列获得另一个4位数m是特自身的倍数,则t为true

表示满足上述条件。。。

Private Sub Command1_Click()

Dim t As Boolean, i%, k%

text1 = \”\”

text2 = \”\”

For i = 1000 To 9999

Call f(i, k, t)

Ift Then

text1 = text1 & i & vbCrLf

text2 = text2 & k & \”=\” & i & \”*\”& k \\ i & vbCrLf

EndIf

Next i

End Sub

Sub f(ByVal n%, ByRef m%, byreyftag AsBoolean)

Dim i%

Tag = False

m = 0

i = n

Do While i > 0

m = m * 10 + i Mod 10

i = i \\ 10

Loop

If m Mod n = 0 And m \\ n > 1 Then

Tag = True

End If

End Sub

6.8.子过程MoveStr是把字符组移动m个位置,

当Tag为Ture是左移,则前m个字符一道字符数组尾

,例如,“abcdefghij”左移3个位置后,结果为

“defghijabc”;。。。。。

Public Sub MoveStr(a $(),m%,Tag As Boolean)

Dimi%, j%, t$

If Tag Then

For i = 1 To m

c = a(0)

For j = 0 To UBound(a) – 1

a(j) = a(j + 1)

Next j

a (UBound(a)) – 1

Next i

Else

For i = 1 To m

c = a(UBound(a))

For j = UBound(a) To 1 Step -1

a(j) = a(j – 1)

Next j

a(0) = c

Next i

EndIf

End Sub

6.9.子过程CountN用来统计字符串中各数字

字符出现的个数;主调程序对在textbox1

框输入的文本,每次单击“统计”按钮,调用该子

过程,在Label1框显示结果。

Private Sub Command1_Click()

Dim n(9) As Integer, i%

Call CountN(n(), text1.Text)

list1.Clear

For i = 0 To 9

If n(i) Then list1.AddItem \”字符\” & i & \”出现的次数为\” & n(i)

Next

End Sub

Sub CountN(ByRefnum%(), ByVal s As String)

Dim c As String * 1, i%, m%, j%

For i = 0 To 9

num(i) = 0

Next i

m= Len(s)

For i = 1 To m

c = Mid(s, i, 1)

If c >= \”0\” And c <= \”9\” Then

j = Val(c)

num(j) = num(j) + 1

End If

Next i

End Sub

6.11.下列程序中的子过程myplit。。用于实现split函数的功能,即将数字字符

s鞍分隔符“,”分离到sArry数组中,分离的个数为n。。。。

Private Sub Text1_KeyPress(KeyAscii AsInteger)

Dim strl As String, num(100) As Integer, n%, i%

If KeyAscii = 13 Then

str1 = Trim(Text1.Text)

Call MySplit(str1, num, n)

list1.Text = \”\”

For i = 1 To n

list1.AddItem num(i)

Next

End If

End Sub

Sub MySplit(ByVal str1 As String, ByRefsn() As Integer, ByRef n As Integer)

Dim i%, j%, ch$

i= 0

j= InStr(Str, \”,\”)

Do While j > 0

sn(i) = Val(Mid(str1, 1, j – 1))

str1 = Mid(str1, j + 1)

i = i + 1

j = InStr(str1, \”,\”)

Loop

sn(i) = Val(str1)

n= i

End Sub

1工程中有两个窗体form1和form2,一个标准模块module1,设在form1中定义了过程aa,在module1中定义了过程bb。

Sub aa(x, y, z)

z= x * x + y * y

End Sub

Sub bb(x, y, z)

z =x ^ 3 + y ^ 3

End Sub

当在form1中单击命令按钮时,调用以上过程计算两个数的平方和和立方和,并分别将计算结果显示在文本框text3和text4中,请填空完成调用语句。

Private Sub Command1_Click()

a =Val(Text1.Text)

b =Val(Text2.Text)

Call [aa(a,b,c1) ]

Text3.Text = c1

bb[a,b,c2 ]

Text4.Text = c2

End Sub

――――――――――――――――――

2下面的程序用于根据文本框X中输入的内容进行以下处理:若X为2、4、6,则打印\”X的值为2、4、6\”;若X在11到15之间,则打印\”X的值为大于等于11小于等于15\”;若X大于20,则打印\”X的值大于20\”;否则,打印\”X不在范围内\”。

Private Sub Command1_Click()

Select Case Val(X.Text)

Case [2,4,6 ]

Print \”X的值为2,4,6\”

Case [11to 15 ]

Print \”X的值为大于等于11小于等于15\”

Case Is >20

Print \”X的值大于20\”

Case Else

Print \”X不在范围内\”

EndSelect

End Sub

――――――――――――――

3下面的程序是使用冒泡法对数组进行排序,请将程序补充完整。

Option Base 1

Private Sub Command1_Click()

Dim iA(0 To 10)

n = 6

iA(0) = 8: iA(1) = 6: iA(2) = 9: iA(3) = 3: iA(4) = 2: iA(5) = 7

For i= 1 To n – 1 \’ 进行n-1遍比较

\’ 对第i遍比较时,大数沉底

For [j=1 to n-i ] \’ 在数组 i~n个元素中选最小元素的下标

If [ iA(j) > iA(j+1) ] Then

t = iA(j)

iA(j) = iA(j + 1)

iA(j + 1) = t

End If

Next j

End Sub

――――――――――――

4 程序的功能是使用辗转相除法求两个数的最大公约数。

Private Sub Command1_Click()

Dimm%, n%

m =Int(InputBox(\”input an integer\”))

n =Int(InputBox(\”input another integer\”))

Print gcd(m, n)

End Sub

Public Function gcd%(m%, n%)

Dimt%

If[ m<n ]Then t = m: m = n: n = t

Do

r= m Mod n

If r = 0 Then Exit Do

m= n

[ n=r ]

Loop

gcd= n

End Function

―――――――――

5、输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEF”变换成“FEDCBA”。请将程序补充完整。

Private Sub Command1_Click()

Dima$, i%, c$, n% \’n存放字符串的长度

a =InputBox(\”input a string\”)

n =[Len(a) ]

Fori = 1 To Int(n / 2)

c= Mid(a, i, 1)

Mid(a, i, 1) = [ Mid(a,n-i+1,1) ]

Mid(a, n – i + 1, 1) = c

Next i

End Sub

――――――――――

6、下面的程序允许用户按Enter(回车)键后,将组合框中没有的项目添加到组合框。请将程序补充完整。

Private Sub Combo1_KeyPress(KeyAscii AsInteger)

Dim flag As Boolean

If KeyAscii = 13 Then

flag = False

For i = 0 To Combo1.ListCount – 1 \’查找项目是否已存在

If [ combo1.text=combo1.list(i) ] Then

flag = True

Exit For

End If

Next i

If flag = False Then \’不存在则添加

[ combo1.AddItem combo1.Text ]

End If

End If

End Sub

―――――――――

7、下面的程序是使用选择法对数组进行升序排列,请将程序补充完整。

Option Base 1

Private Sub Command1_Click()

Dim iA(1 To 10)

n = 6

iA(1) = 8: iA(2) = 6: iA(3) = 9: iA(4) = 3: iA(5) = 2: iA(6) = 7

For i = 1 To n – 1 \’ 进行n-1遍比较

iMin = i \’ 对第i遍比较时,初始假定第i个元素最小

For [ j=i+1 to n ] \’ 在数组 i~n个元素中选最小元素的下标

If [a(j)<a(imin) ] Then iMin = j

Next j

t = iA(i) \’i~n个元素中选出的最小元素与第i个元素交换

iA(i) = iA(iMin)

iA(iMin) = t

Next i

End Sub

―――――――――――

8、找出被3、5、7除,余数均为1的最小的5个正整数。

Private Sub Command1_Click()

Dimcountn%, n%

n =1: countn = 0

Do

n= n + 1

If [ n mod 3=1 And n mod 5=1 And n mod 7=1 ]Then

Print n

countn = countn + 1

End If

Loop [ until count n=5 ]

End Sub

――――――――――――――

9、下面程序段是检查输入的算术表达式中圆括号是否配对,并显示相应的结果。本程序在文本框输入表达式,

边输入,边统计,以输入回车键作为表达式输入结束,然后显示结果。

Dim count1%

Private Sub Text1_KeyPress(KeyAscii AsInteger)

If[ chr(keyAscii) ] = \”(\” Then

count1 = count1 + 1

ElseIf Chr(KeyAscii) = \”)\” Then

[ count1=count1+1 ]

EndIf

IfKeyAscii = 13 Then

If count1 = 0 Then

Print \”左右括号配对\”

ElseIf count1 > 0 Then

Print \”左括号多于右括号\”; count1; \”个\”

Else

Print \”右括号多于左括号\”; -count1; \”个\”

End If

EndIf

End Sub

――――――――――――

10、顺序文件的建立。建立文件名为“c:\\stud1.txt”的顺序文件,内容来自文本框,

每按Enter键写入一条记录,然后清除文本框的内容,直到文本框内输入“END”字符串。

Private Sub Form_Load()

Open“c:\\stud1.txt” For Output As #1

Text1.Text=“”

End Sub

Private Sub Text1_KeyPress(keyAscii AsInteger)

IfkeyAscii=13 Then

If[ Ucase(Text1)=\”END\” ] Then

Close #1

End

Else

[Print #1,Text1 ]

Text1.Text=“”

End If

EndIf

End Sub

―――――――――――――

11、输入若干字符,统计有多少个元音字母、有多少个其他字母,不区分大小写,并显示结果。其中,CountY中放元音字母个数,CountC中放其他字符数。

Private Sub Command1_Click()

DimCountY%, CountC%, i%

DimC$, B$

c=Text1.Text

Fori = 1 To Len(C)

B=UCase(Mid(C, i, 1))

If [ \”A\”<=B And B<=\”Z\” ] Then

Select Case B

Case \”A\”,\”E\”,\”I\”,\”O\”,\”U\”

CountY = CountY + 1

Case [ Else ]

CountC = CountC + 1

End Select

End If

Next i

Print \”元音字母有\”; CountY; \”个\”

Print \”其它字母有\”; CountC; \”个\”

End Sub

――――――――

12、将C盘根目录下的一个文本文件old.dat复制到新文件new.dat中,并利用文件操作语句

将old.dat文件从磁盘上删除。

Private Sub Command1_Click()

Dimstr1 $

Open “c:\\old.dat” For Input As #1

Open “c:\\new.dat” [For output As #2 ]

DoWhile[ NotEoF(1) ]

Line Input #1,str1

Print #2,str1

Loop

Close #1,#2

KILL “c:\\old.dat”

End Sub

―――――――――

<PIXTEL_MMI_EBOOK_2005>6

13、产生[10,37]之间的随机整数的Visual Basic表达式是[<int(Rnd*28+10)>]。

判断s字符变量是大写字母字符的逻辑表达式为[<s>=\”A\”And s<=\”Z\”>]。

表示x是5的倍数或9的倍数的逻辑表达式是[<xMod 5=0 Or x Mod 9=0>]

Len(\”vb程序设计\”)的值是[<6>]。

表示字符变量s是字母字符的VB表达式是[<Lcase(s)>=\”a\”And Lcase(s)<=\”z\”或者Ucase(s)>=\”A\”And Ucase(s)<=\”Z\”>]。

将一个两位数x的个位数与十位数交换位置,组成另一个两位数,则对应的表达式是[<(x Mod 10)+x\\10>]。

随机产生一个“C”~“L”范围内的大写字符,则对应的VB表达式是[<Chr(Int(Rnd*10+68))>]。

Round(-3.5)的值是[<-4>]。

Int(3.5)的值是[<3>]。

下面程序段运行后的输出结果是[<2 20 3 21 4 22 5 23>]。

For i = 0 To 3

Print Tab(5 * i + 1); \”2\” + i; \”2\” & i;

Next i

循环语句For i=-3to 20 Step 0 的循环次数是[<无数次>]。

在过程中定义的局部变量,如果希望过程结束后还保存变量的值,则应使用[<Static>]关键字进行声明。

由Array函数建立的数组,其变量必须是[<Variant>]。

要使循环语句循环执行20次,For k=____ to -5 Step -2,则k=[<33>]。

循环语句For i=-3.5to 5.5 Step 0.5的循环次数是[<19>]。

下列程序段中,第41句共执行了[<12>]次。

30 For j = 1 To 12 Step 3

40 For k = 6 To 2 Step -2

41 Print j, k

42 Next k

43 Next j

循环语句For i=-3to 20 Step 4的循环次数是[<6>]。

下面程序运行后的输出结果是[<**$$$****$$$$$>]。

a = \”*\”: b = \”$\”

For i = 1 To 4

If i Mod 2 = 0 Then

x$ = String(Len(a) + i, b)

Else

x$ = String(Len(a) + i, a)

End If

Print x$;

Next i

下面程序的运行结果是[<22 484>]。

x = 242: y = 44

z = x * y

Do Until nx = y

If x > y Then x = x – y Else y = y – x

Loop

Print x, z / x

下列程序段中,第40句共执行了[<4>]次。

30 For j = 1 To 12 Step 3

40 For k = 6 To 2 Step -2

41 Print j, k

42 Next k

43 Next j

如果在建立菜单时在标题文本框中输入一个[<下划线或者“_”>],那么菜单显示时形成一个分隔线

如果菜单标题的某个字母前输入一个[<&>]符号,那么该字母就成了热键字母。

[<Clear>]方法可以清除列表框中的所有内容。

列表框中的[<List>]和Selected两个属性均为数组。

[<Style>]属性设置为1,单选按钮和复选框以图形方式显示。

当用户单击滚动条的空白处时,滑块移动的增量由[<Largechange>]属性决定。

当用户单击鼠标右键时,MouseDown、MouseUp和MouseMove事件过程中的Button参数值为[<2>]。

列表框中项目的序号是从[<0>]开始的。

Visual Basic中有一种控件组合了文本框和列表框的特性,这种控件是[<组合框>]。

如果窗体的[<KeyPreview>]属性设置为True,则控件的KeyPress事件过程可以接收到在窗体的KeyPress过程中修改过的值。

复选框的[<Value>]属性设置为2-Grayed时,变成灰色,禁止用户选择。

复选框的[<value>]属性设置为2-Grayed时,复选框变成灰色,禁止用户选择。

滚动条产生Change事件是因为它的[<Value>]属性值改变了。

如果要每隔15秒产生一个Timer事件,则Interval属性应设置为[<15000>]。

当用户单击滚动条两端的箭头时,滑块移动的增量由[<Smallchange>]属性决定。

[<List1.Listcount-1>]表示列表框中最后一项的序号。

Visual Basic提供的对数据文件的三种访问方式为顺序访问方式、[<二进制访问方式>]和随机访问方式。

一、单项选择题

1、与传统的程序设计语言相比,Visual Basic最突出的特点是。

1 产生1-100以内的素数

Private Sub Command1_Click()

Dim i%, j%, tag As Boolean

For j = 1 To 100

tag = True

For i = 2 To j – 1

If j Mod i = 0 Then tag = False

Next i

If tag Then Print j;

Next j

End Sub

2、从键盘输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换成“GFEDCBA”。

PrivateSub Form_Click()

Dimi, a, b, n As String

n= InputBox(\”输入字符\”)

i= Len(n)

Fora = 1 To i / 2

b= Mid(n, a, 1)

Mid(n, a, 1) = Mid(n, i + 1 – a, 1)

Mid(n, i + 1 – a, 1) = b

Next a

Print n

EndSub

3.0到200被5 或11整除的数的和

Private Sub Command1_Click()

Dim i%

For i = 0 To 200

If i Mod 11 = 0 Or i Mod 5 = 0 Then

Sum = Sum + i

End If

Next i

Print \”总和是\”;Sum

End Sub

4输入一年份,判断他是否为闰年,并现实是否是闰年的有关信息。

Private Sub Command1_Click()

Dim y%

y = Val(Text1)

If y Mod 4 = 0 And y Mod 100 <> 0 Or y Mod 400 = 0 Then

MsgBox (y & \”年是闰年\”)

Else

MsgBox (y & \”年是平年\”)

End If

End Sub

5、已知x,y,z 3个变量中存放了3个不同的数,比较它们的大小并进行调整,使得x<y<z。

PrivateSub Command1_Click()

Dimx!, y!, z!

x= InputBox(\”input x\”)

y= InputBox(\”input y\”)

z= InputBox(\”input z\”)

PrintTab(8); \” \”; \”x\”; \” y\”; \” z\”

Print\”排序前:\”; x; \” \”; y;\” \”; z

Ifx < y Then t = x: x = y: y = t:

Ifx < z Then t = x: x = z: z = t:

Ify < y Then t = y: y = z: z = t:

Print\”排序后:\”; \”\”; x; \” \”; y; \” \”; z

EndSub

6、求s=a+aa+aaa+…aaaaa,其中a和n的值随机产生,a的范围是[1,9]的整数,n的范围是[5,10]。如a=3,n=6,则s=3+33+333+3333+33333+333333。编程确定n和a的值,并计算s。

Private Sub Form_click()

Dim s!, t!, i!, a%, n%

a = Int(Rnd * 9 + 1)

n = Int(Rnd * 6 + 5)

t = 0: s = 0

Print Tab(9); \”a=\”; a,\”n=\”; n

Print

For i = 1 To n

t = t * 10 + a

s = s + t

Print Tab(9); t

Next i

Print

Print Tab(9); \”s=\”; s

End Sub

7、计算100~300之间所有能被3和7整除的数之和。

PrivateSub Command1_Click()

Dims%, i%

s= 0

Fori = 100 To 300

Ifi Mod 3 = 0 Or i Mod 7 = 0 Then

s= s + i

EndIf

Nexti

Print\”s=\” & s

EndSub

8、编程求200–400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,则只能加一次。)

Private Sub Command1_Click()

Dims1%, s2%, s3%, i%

s1= 0

s2= 0

Fori = 200 To 400

Ifi Mod 5 = 0 Or i Mod 7 = 0 Then

s1= s1 + i

EndIf

Nexti

Fori = 200 To 400

Ifi Mod 5 = 0 And i Mod 7 = 0 Then

s2= s2 + i

EndIf

Nexti

s3= s1 – s2

Prints3

EndSub

9找出被3、5、7除,余数均为1的最小的5个正整数。

Private Sub Command1_Click()

Dim countN%, n%

countN = 0

n = 1

Do

n = n + 1

If n Mod 3 = 1 And n Mod 5 = 1 And n Mod 7 = 1 Then

Print n

countN = countN + 1

End If

Loop Until countN = 5

End Sub

10、某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。

Private Sub Form_Click()

Dim a(6) As Integer, i%, t%, s!, max%, min%, imin%,imax%

Randomize

For i = 0 To 6

a(i) = InputBox(\”输入评委所打的分数\”) 或者\’也可以用随机数产生 \’a(i)= Int(Rnd * 31 + 70)

Next i

For i = 0 To 6

Print a(i);

Next i

Print

imax = 0: max = a(0)

For i = 1 To 6

If a(i) >= max Then max = a(i): imax = i

Next i

t = a(0): a(0) = a(imax): a(imax) = t

imin = 6: min = a(6)

For i = 0 To 5

If a(i) <= min Then min = a(i): imin = i

Next i

t = a(6): a(6) = a(imin): a(imin) = t

Print \”除去最高分和最低分之后的分数\”

For i = 1 To 5

Print a(i);

Next i

For i = 1 To 5

s = s + a(i)

Next i

Print

Print \”该参赛者的平均得分为\”;s / 5

End Sub

11、编程显示100~500之间所有的水仙花数之和。(水仙花数是3位数,其各位数之和等于该数本身)

Private SubForm_Click()

Print\”100~500之间所有的水仙花数为:\”

Dim x%, a%, b%, c%

Forx = 100 To 500

a= x Mod 10

b= (x Mod 100) \\ 10

c= x \\ 100

Ifx = a ^ 3 + b ^ 3 + c ^ 3 Then Print x

Nextx

EndSub

12、随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。

Private Sub Command1_Click()

Text1 = Int(Rnd * 900 + 100)

End Sub

Private Sub Command2_Click()

Dim x%, x1%, x2%, x3%

x = Val(Text1)

x1 = x Mod 10

x2 = (x Mod 100) \\ 10

x3 = x \\ 100

Text2 = x1 * 100 + x2 * 10 + x3

End Sub

否构成三角13、从键盘输入三角形的三条边a,b,c的值,根据其数值,判断能形。

Private SubCommand1_Click()

Dim a%, b%, c%

a = Val(InputBox(\”inputa\”))

b = Val(InputBox(\”inputb\”))

c = Val(InputBox(\”inputc\”))

If a + b > c And b + c > a And a +c > b Then

MsgBox (\”能构成三角形\”)

Else

MsgBox (\”不能构成三角形\”)

End If

End Sub

14、已知数组a(),编程删除a中第5个元素。数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。

Private Sub Form_Click()

Dim a(), i%, n%

a = Array(12, 6, 4, 89, 75, 63, 100, 20, 31)

n = UBound(a)

For i = 0 To n

Print a(i);

Next i

Print

For i = 5 To n

a(i – 1) = a(i)

Next i

n = n – 1

ReDim Preserve a(n)

For i = 0 To n

Print a(i);

Next i

Print

End Sub

14、已知数组a(),编程删除a中第5个元素。数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。

PrivateSub Form_Click()

Dima(), i%, n%

a =Array(12, 6, 4, 89, 75, 63, 100, 20, 31)

n =UBound(a)

For i= 0 To n

Printa(i);

Next i

Print

For i= 5 To n

a(i -1) = a(i)

Next i

n = n- 1

ReDimPreserve a(n)

For i= 0 To n

Printa(i);

Next i

Print

EndSub

15、随机生成一个整型的二维数组,范围在[10,20]之间,以上三角形式输出该数组。

Dima%(4, 4), i%, j%

PrivateSub Form_load()

For i= 0 To 4

For j= 0 To 4

a(i,j) = Int(Rnd * 11 + 10)

Next j

Next i

EndSub

PrivateSub Command1_Click()

Picture1.Cls

For i= 0 To 4

For j= 0 To 4

Picture1.Printa(i, j); \”\”;

Next j

Picture1.Print

Next i

EndSub

PrivateSub Command2_Click()

Picture2.Cls

For i= 0 To 4

For j= i To 4

Picture2.Printa(i, j); \”\”;

Next j

Picture2.Print

Next i

EndSub

PrivateSub Command3_Click()

Picture3.Cls

For i= 0 To 4

For j= 0 To i

Picture3.Printa(i, j); \”\”;

Next j

Picture3.Print

Next i

EndSub

16、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出每行中的最大值和下标。

Dima%(3, 3), i%, j%, imax%

PrivateSub Command1_Click()

Fori = 0 To 3

Forj = 0 To 3

a(i,j) = Int(Rnd * 31 + 20)

Picture1.Printa(i, j); \”\”;

Nextj

Picture1.Print

Nexti

imax =0

Fori = 0 To 3

Forj = 0 To 3

Ifa(i, imax) < a(i, j) Then

imax= j

EndIf

Nextj

Picture2.Print\”第\”; i + 1; \”行\”; \”最大值为\”; a(i, imax); \”下标为\”; \”(\”; i; imax;\”)\”

Nexti

EndSub

17、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[40,80]内的整数,求它的最大值及所对应的下标。

Private Sub Form_Click()

Dim a(3, 3), max%, imax%

For i = 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 41 +40)

Next j

Next i

For i = 0 To 3

For j = 0 To 3

Print a(i, j);

Next j

Print

Next i

For i = 0 To 3

For j = 0 To 3

If max < a(i, j) Then max = a(i, j): imax= i & j

Next j

Next i

Print \”max=\”; max;\”imax=\”; imax

End Sub

18、输入一系列字符串,编程求出长度最大的字符串并输出其所对应的次序

Private Sub Form_Click()

Dim a(5) As String, b(4)As Integer, t%, max%, imax%

For i = 1 To 5

a(i) = InputBox(\”a\”)

Next i

For i = 0 To 4

b(i) = Len(Trim(a(i)))

Next i

max = 1

For i = 0 To 4

If max < b(i) Then max = b(i): imax = i

Next i

Print \”max=\”; a(i)

Print \”cixu=\”; imax + 1

End Sub

19、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和

Private Sub Form_Click()

Dim a(3, 3), sum%

For i = 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 31 +20)

Next j

Next i

For i = 0 To 3

For j = 0 To 3

Print a(i, j);

Next j

Print

Next i

For i = 0 To 3

For j = 0 To 3

sum = sum + a(i, j)

Next j

Next i

Print \”sum=\”; sum

End Sub

20、输入一系列字符串,将字符串按递减次序排列。请编程实现

Dima() As String, n%, i%, j%

PrivateSub Command1_Click()

n= Val(Text1)

ReDima(n) As String

Fori = LBound(a) To UBound(a)

a(i)= InputBox(\”请输入字符串\”)

Picture1.Printa(i); Spc(1);

Nexti

EndSub

PrivateSub Command2_Click()

Fori = 0 To n

Forj = 0 To n – 1

Ifa(j) < a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t

Nextj

Nexti

Fori = 0 To n

Picture2.PrintTab(3); a(i); Spc(1)

Nexti

EndSub

21.随机产生30~100中的十个正整数,求最大值、最小值、平均值,并显示整个数组的值和结果。

PrivateSub Form_Click()

Dima(1 To 10) As Integer, i%, maxa%, mina%, avera!

For i =1 To 10

a(i) =Int(Rnd * 71 + 30)

Next i

mina =a(1)

maxa =a(1)

avera= a(1)

For i= 2 To 10

Ifa(i) > maxa Then maxa = a(i)

Ifa(i) < mina Then mina = a(i)

avera= avera + a(i)

Next i

For i= 1 To 10

Printa(i);

Next i

Print

Print\”max=\”; maxa, \”min=\”; mina, \”aver=\”; avera / 10

EndSub

22、、定义三个4×4的二维数组A,B,C,A和B中的元素均随机生成,数组A的范围是1~20,数组B的范围是100~200,数组C是A和B相乘得到的。请编程生成并输出A,B,C。

Private SubForm_Click()

Dima%(1 To 4, 1 To 4), b%(1 To 4, 1 To 4), c%(1 To 4, 1 To 4)

Print\”数组A\”

For i = 1 To 4

For j = 1 To 4

a(i, j) = Int(Rnd * 20 + 1)

PrintTab(j * 4); a(i, j);

Next j

Print

Nexti

Print\”数组B\”

For i = 1 To 4

For j = 1 To 4

b(i, j) = Int(Rnd * 100 + 100)

PrintTab(j * 6); b(i, j);

Next j

Print

Nexti

\’Print\”数组C\”;

\’For i = 1 To 4

\’For j = 1 To 4

\’c(i, j) = b(i, j) * a(i, j)

\’PrintTab(j * 4); c(i, j);

\’Next j

\’Print

\’Nexti

Print\”数组C\”;

For i = 1 To 4

For j = 1 To 4

c(i, j) = b(i, j) * a(i, j)

PrintTab(j * 6); c(i, j);

Next j

Print

Nexti

EndSub

23、随机产生15个小写字母,放在字符串中。

PrivateSub Form_Click()

Dima$(1 To 15), i%

Print\”字符数组为a(i):\”

Fori = 1 To 15

a(i)= Chr(Int(Rnd * 26 + 97))

Printa(i); Spc(1);

Next i

Print

EndSub

PrivateSub Form_Load()

FontSize= \”10\”

EndSub

24、随机产生10个[30,100]内的整数,求最大值及所对应的下标

PrivateSub Form_Click()

Dima(9), max%, imax%

For i= 0 To 9

a(i) =Int(Rnd * 71 + 30)

Printa(i);

Next i

Print

max =a(0)

For i= 1 To 9

If max < a(i) Then max = a(i): imax = i

Next i

Print\”max=\”; max

Print\”imax=\”; imax

EndSub

25、定义三个4×4的二维数组A,B,C,A和B中的元素均随机生成,数组A的范围是1~20,数组B的范围是100~200,数组C是A和B相加得到的。请编程生成并输出A,B,C。

PrivateSub Command1_Click()

Dima(3, 3), b(3, 3), c(3, 3), t%, m%

For i= 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 20 + 1)

Picture1.Print a(i, j);

Next j

Next i

Picture1.Print

For i= 0 To 3

For j = 0 To 3

b(i,j) = Int(Rnd * 101 + 100)

Picture1.Print b(i, j);

Next j

Next i

Picture1.Print

For i = 0 To 3

For j = 0 To 3

c(i, j) = a(i, j) + b(i, j)

Picture1.Print c(i, j);

Next j

Next i

26.、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,求它的两条对角线上元素之和。

PrivateSub Command1_Click()

Dima%(3, 3), i%, j%, sum%

For i= 0 To 3

Forj = 0 To 3

a(i,j) = Int(Rnd * 31 + 20)

Picture1.Printa(i, j); \”\”;

Nextj

Picture1.Print

Nexti

sum =0

For i= 0 To 3

sum =sum + a(i, i) + a(i, 3 – i)

Next i

Text1= sum

EndSub

.27、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[40,80]内的整数,求它的最小值及所对应的下标。

Dima%(3, 3), i%, j%, imin%

PrivateSub Command1_Click()

Fori = 0 To 3

Forj = 0 To 3

a(i,j) = Int(Rnd * 21 + 40)

Picture1.Printa(i, j); \”\”;

Nextj

Picture1.Print

Nexti

imax= 0

Fori = 0 To 3

Forj = 0 To 3

Ifa(i, imin) > a(i, j) Then

imin= j

EndIf

Nextj

Picture2.Print\”第\”; i + 1; \”行\”; \”最小值为\”; a(i, imin); \”下标为\”; \”(\”; i; imin;\”)\”

Nexti

EndSub

28、随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。

Private Sub Form_Click()

Dima(4, 4) As Integer

For i= 0 To 4

For j = 0 To 4

a(i, j) = Int(Rnd * 11 + 10)

Next j

Next i

For i= 0 To 4

For j = 0 To i

Print a(i, j);

Next j

Print

Next i

End Sub

29、有10个评委对歌手进行打分要求编程计算歌手平均得分。

Private Sub Form_Click()

Dim a(), max%, min%,imax%, imin%, s!

a = Array(98, 97, 95,91, 90, 99, 93, 94, 93, 96)

n = UBound(a)

For i = 0 To n

Print a(i);

Next i

Print

min = a(0): imin = 0

For i = 0 To n

If a(i) < min Then min = a(i): imin = i

Next i

Print \”min=\”; min;\”imin=\”; imin

For i = imin + 1 To n

a(i – 1) = a(i)

Next i

ReDim Preserve a(n – 1)

For i = 0 To n – 1

Print a(i);

Next i

Print

For i = 0 To n – 1

If a(i) > max Thenmax = a(i): imax = i

Next i

Print \”max=\”;max; \”imax=\”; imax

ReDim Preserve a(n – 2)

s = 0

For i = 0 To n – 2

s = s + a(i)

Print a(i);

Next i

Print

Print \”avr=\”; s / (n – 1)

End Sub

30.已知一维数组a中元素已排序,分别为{12,15,21,25,27,35,36,39,48,52},编程将30插入数组,使a仍保持有序。

PrivateSub Form_load()

Dima(), i%, k%, x%, n%

a =Array(1, 4, 7, 9, 12, 14, 23, 56)

n =UBound(a)

For i= 0 To n

List1.AddItema(i)

Next i

EndSub

PrivateSub command1_Click()

x =Val(Text1)

For k= 0 To List1.ListCount – 1

If x< Val(List1.List(k)) Then Exit For

Next k

List1.AddItemx, k

EndSub

31、声明一个整型的二维数组a(1 to 4,1 to 4),用随机函数产生各元素,范围介于[1,20]之间,编程将第1行和第3行对应元素交换。

PrivateSub Form_Click()

Dima%(1 To 4, 1 To 4), i%, j%

Print\”排序前\”

For i= 1 To 4

Forj = 1 To 4

a(i,j) = Int(Rnd * 20 + 1)

PrintTab(j * 4); a(i, j);

Nextj

Print

Next i

Print\”排序后\”

For j= 1 To 4

t =a(1, j): a(1, j) = a(3, j): a(3, j) = t

Next j

For i= 1 To 4

Forj = 1 To 4

PrintTab(j * 4); a(i, j);

Nextj

Print

Next i

EndSub

32、随机产生15个大写字母,放在字符数组中。提示:c=chr(int(rnd*26+65))

Private Sub Form_Click()

Dim a(1 To 15) As String

For i = 1 To 15

a(i) = Chr(Int(Rnd * 26+ 65))

Print Tab(i * 2); a(i);

Next i

End Sub

33.编写一个过程计算并输出区间[100,1000]内所有素数的和来实现)。调用该过程。

Functionsushu%(ByVal x%)

Dimm%, Tag As Boolean, i%

m= Val(x)

Tag= True

Fori = 2 To m – 1

If(m Mod i) = 0 Then Tag = False

Nexti

IfTag Then sushu = x

EndFunction

PrivateSub Command1_Click()

Dimi%, k%

For i= 100 To 1000

Ifsushu(i) Then List1.AddItem i

Next i

Sum =0

Fork = 0 To List1.ListCount – 1

Sum= Sum + Val(List1.List(k))

Nextk

Label1 = \”[100,1000]内所有素数和为:\”& Sum

EndSub

34、随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。

Private Sub Form_Click()

Dim a(1 To 10) AsInteger, i%, maxa%, mina%, suma%

For i = 1 To 10

a(i) = Int(Rnd * 71 +30)

Next i

mina = a(1)

maxa = a(1)

suma = a(1)

For i = 2 To 10

If a(i) > maxa Thenmaxa = a(i)

If a(i) < mina Thenmina = a(i)

suma = suma + a(i)

Next i

For i = 1 To 10

Print a(i);

Next i

Print

Print \”max=\”;maxa, \”min=\”; mina, \”aver=\”; suma / 10

End Sub

35.编程输出n行杨辉三角形图,n由键盘输入。

PrivateSub Command1_Click()

Dimn%, i%, j%

n =Val(Text1)

Dima%(1 To 1000, 1 To 1000)

For i= 1 To n

a(i,1) = 1

Next i

For i= 1 To n

a(i,i) = 1

Next i

For j= 2 To i – 1

For i= 3 To n

a(i,j) = a(i – 1, j – 1) + a(i – 1, j)

Next i

Picture1.Print;

Next j

Picture1.PrintTab(j * n); a(i, j)

For i= 1 To n

For j= 1 To i

Picture1.Printa(i, j); \”\”;

Next j

Picture1.Print

Next i

EndSub

37、声明一个整型的二维数组a(1 to 4,1 to 4),用随机函数产生各元素,范围介于[1,20]之间,编程将第2行和第4行对应元素交换。

PrivateSub Form_Click()

Dima(0 To 3, 0 To 3), i%, j%, t

For i= 0 To 3

For j = 0 To 3

a(i, j) = Int(Rnd * 21 + 1)

Print Tab(j * 5); a(i, j);

Next j

Next i

Print

Print

For j = 0 To 3

t =a(1, j): a(1, j) = a(3, j): a(3, j) = t

Next j

For i= 0 To 3

For j = 0 To 3

PrintTab(j * 5); a(i, j);

Next j

Next i

EndSub

38、随机产生10个[30,100]内的整数,求最小值及所对应的下标。

PrivateSub Form_click()

Dima(1 To 10) As Integer, zb%, mina%, i%

For i= 1 To 10

a(i) =Int(Rnd * 71 + 30)

Printa(i);

Next i

zb = 1

mina = a(1)

For i= 2 To 10

Ifmina > a(i) Then mina = a(i): zb = i

Next i

Print

Print\”min=\”; mina, \”zb=\”; zb

EndSub

39、编写一个判断素数的通用过程。调用该过程,计算并输出区间[1000,1100]内所有素数的和。(提示:只能被1和自身整除的自然数称为素数。)

PrivateSub Picture1_Click()

Dimi%, avera

avera= 0

For i= 1000 To 1100

If ss(i)<> 0 Then Print ss(i)

avera= avera + ss(i)

Next i

Picture1.Printavera

EndSub

Functionss(n) As Integer

Dimi%, tag As Boolean

tag =True

For i= 3 To n / 2

If (nMod i) = 0 Then tag = False

Next i

If tagThen ss = n

EndFunction

40.编一子过程Procmin(a(),amin),求一维数组中a的最小值amin.

PrivateSub Form_Click()

Dima(1 To 10), amin, i%

For i= 1 To 10

a(i) =Int(Rnd * 200 + 200)

Printa(i);

Next i

Calls(a(), amin)

Print

Print\”min=\”; amin

EndSub

Subs(b(), min)

Dim i%

min =b(LBound(b))

For i= LBound(b) + 1 To UBound(b)

Ifb(i) < min Then min = b(i)

Next i

EndSub

41:.编一冒泡程序,对已知整数按递减次序排列,用子过程

Subsort(a())

Dimimin%, i%, j%

For i= 0 To UBound(a) – 1

Forj = 0 To UBound(a) – 1 – i

Ifa(j+1) > a(j ) Then

t= a(j): a(j) = a(j + 1): a(j + 1) = t

EndIf

Nextj

Nexti

EndSub

PrivateSub Form_Click()

Dimb(), i%

b =Array(8, 9, 4, 2, 6)

Callsort(b())

Fori = 0 To UBound(b)

Printb(i);

Nexti

EndSub

43.用选择排序法子过程对已知的若干整数按递增次序排列

Subsort(a())

Dimimin%, i%, j%

For i= 0 To UBound(a) – 1

imin =i

For j= i + 1 To UBound(a)

Ifa(j) < a(imin) Then imin = j

Next j

t =a(i): a(i) = a(imin): a(imin) = t

Next i

EndSub

PrivateSub Form_Click()

Dimb(), i%

b =Array(8, 9, 4, 2, 6)

Callsort(b())

For i = 0 To UBound(b)

Print b(i);

Next i

EndSub

45.编一冒泡程序,对已知整数按递增次序排列,用子过程

Subsort(a())

Dimimin%, i%, j%

For i= 0 To UBound(a) – 1

Forj = 0 To UBound(a) – 1 – i

Ifa(j) > a(j + 1) Then

t= a(j): a(j) = a(j + 1): a(j + 1) = t

EndIf

Nextj

Next i

EndSub

PrivateSub Form_Click()

Dimb(), i%

b =Array(8, 9, 4, 2, 6)

Callsort(b())

Fori = 0 To UBound(b)

Printb(i);

Nexti

EndSub