VB上机考试 习题以及答案

VB上机考试  习题以及答案
VB上机考试  习题以及答案

VB上机考试

1、利用随机函数产生25个100到999之间的整数,构成55的矩阵,输出该矩阵。Dim a(1 To 5, 1 To 5)

Private Sub Form_Click()

Randomize

For i = 1 To 5

For j = 1 To 5

a(i, j) = Int(Rnd * (999 - 100 + 1) + 100)

Print a(i, j);

Next j

Print

#

Next i

End Sub

2、利用随机函数产生25个10到99之间的整数,求其平均值(要求保留3位小数,第4位四舍五入)。Private Sub Form_Click()

For i = 1 To 25

a = Int(Rnd * (99 - 10 + 1) + 10)

Print a;

s = s + a

Next i

Print

!

Avg = s / 25

Print Avg

End Sub

3、在窗体上按下鼠标的右键,记录其坐标。

Private Sub Form_Load()

= 1

= 2

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 2 Then

= X & "," & Y

End If

End Sub

4、利用随机函数产生25个10到99之间的整数,按从小到大的顺序显示。Dim a(1 To 25)

Private Sub Form_Click()

Cls

For i = 1 To 25

a(i) = Int(Rnd * (99 - 10 + 1) + 10)

*

Print a(i);

Next i

Print

For i = 1 To 25 - 1

For j = 1 To 25 - i

If a(j) > a(j + 1) Then tmp = a(j): a(j) = a(j + 1): a(j + 1) = tmp

Next j

Next i

For i = 1 To 25

Print a(i);

\

Next i

End Sub

5、利用随机函数产生50个[1,6] 之间的整数, 分别统计出1的个数,2的个数,3的个数,4的个数,5的个数和6的个数。Dim a(1 To 6)

Private Sub Form_Click()

For i = 1 To 6

a(i) = 0

Next i

For j = 1 To 50

{

x = Int(Rnd * (6 - 1 + 1) + 1)

a(x) = a(x) + 1

Next j

For i = 1 To 6

Print i & "出现了" & a(i); "次"

Next i

End Sub

6、在文本框中输入一些英语单词,统计空格的个数。

Dim n%, x As String, s% Private Sub Form_Click()

n = Len

x =

For i = 1 To n

If Mid(x, i, 1) = " " Then s = s + 1

Next i

Print "共出现了" & s & "个空格"

End Sub

/

7、编程计算下列公式的值,其中n (<10)为从键盘输入的正整数。

S=1!+3!+5!+……+(2*n-1)!Private Sub Form_Click()

n = Val(InputBox("请输入一个不大于10的整数"))

s = 0

For i = 1 To 2 * n - 1 Step 2

p = 1

For j = 1 To i

p = p * j

Next j

s = s + p

Next i

Print s

End Sub

8、编程计算下列公式的值,其中n (<10)为从键盘输入的正整数。

S=2!+4!+6!+……+(2*n)!Private Sub Form_Click()

n = Val(InputBox("请输入一个不大于10的整数"))

s = 0

For i = 2 To 2 * n Step 2

<

p = 1

For j = 1 To i

p = p * j

Next j

s = s + p

Next i

Print s

End Sub

9、用For …Next语句编程,双击窗体后,在屏幕上显示如图:\

Private Sub Form_Click()

a = 0

For i = 1 To 3

Print Tab(8 - 2 * i - 1);

For j = 1 To 2 * i - 1

a = a + 1

Print Str(a);

Next j

Print

Next i

|

End Sub

10、用For …Next语句编程,双击窗体后,在屏幕上显示如图:

Private Sub Form_DblClick()

For i = 1 To 3

Print Tab(11 - 3 * i);

For j = 2 To 10 Step 2

Print j;

Next j

Print

Next i

End Sub

11、用For …Next语句编程,双击窗体后,在屏幕上显示如图:

Private Sub Form_Click()

For i = 1 To 3

Print Tab(10 - 3 * i);

For j = 1 To 5

Print x;

-

Next j

Print

Next i

End Sub

12、从文本框输入一个正整数,判断该数是否为素数。Dim a As Long

Private Sub Form_Click()

a = Val

If a = 2 Then

Tag = True

ElseIf a Mod 2 = 0 Then

@

Tag = False

Else

Tag = True

For i = 3 To Sqr(a) Step 2

If a Mod i = 0 Then Tag = False: Exit For

Next i

End If

If Tag = True Then

Print a; "是素数"

Else

@

Print a; "不是素数"

End If

End Sub

13、利用随机函数产生并显示10个3位数的正整数,找出其中的最大数。Option Explicit

Dim i%, max%, loc%

Dim a(1 To 10) As Integer

Private Sub Form_Click()

Randomize

~

For i = 1 To 10

a(i) = Int(Rnd * (999 - 100 + 1) + 100)

Print a(i)

Next i

max = a(1): loc = 1 '变量赋值,假设a(1)为最大数

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

Next i

Print "最大的数是"; max

Print "在数组中是第"; loc; "个数"

,

End Sub

14、利用随机函数产生并显示10个4位数的正整数,找出其中的最小数。Option Explicit

Dim i%, min%, loc%

Dim a(1 To 10) As Integer

Private Sub Form_Click()

Randomize

For i = 1 To 10

a(i) = Int(Rnd * (9999 - 1000 + 1) + 1000)

Print a(i)

Next i

min = 9999

For i = 1 To 10

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

Next i

Print "最小的数是"; min

Print "在数组中是第"; loc; "个数"

End Sub

15、当按下鼠标左键时,窗体的背景色变为红色;松开鼠标左键时,窗体的背景色变为绿色。Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 1 Then = vbRed

End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 1 Then = vbGreen

End Sub

16、编制一个时钟程序,如下图

:Option Explicit

Private Sub Form_Load()

|

= vbWhite

= 1

= 2

= True

= 1000

End Sub

Private Sub Timer1_Timer()

= Time

End Sub

17、从键盘输入10个数,按输入的顺序和按输入顺序相反的顺序输出。Option Explicit

Dim i%

Dim a(1 To 10) As Single

Private Sub Form_Click()

For i = 1 To 10

a(i) = Val(InputBox("请输入第" & i & "个数"))

Print a(i);

Next i

Print

For i = 10 To 1 Step -1

|

Print a(i);

Next i

End Sub

18、计算圆面积的程序。程序运行时,单击窗体,然后在下图所示的输入框中输入圆的半径,即可在窗体上显示计算出的圆面积。

Option Explicit

Dim r%, a As Single

Const pi As Single =

Private Sub Form_Click()

r = Val(InputBox("请输入圆半径" & vbCrLf & "(1-9):", "输入", 5))

a = pi * r ^ 2

Print "半径为"; r; "的圆面积为"; a

End Sub

19、编写一个时钟程序,当选择“24小时”时,以24小时的方式显示如A,当选择“12小时”时,以12小时的方式显示如B。

Private Sub Form_Load()

= 1000

End Sub

Private Sub Timer1_Timer()

!

Select Case True

Case

= Time

Case

= Format(Time, "HH:MM:SS AM/PM")

End Select

End Sub

20、设计一个程序,用户界面如图所示。程序运行后,用户在文本框中输入一段文字,然后按需要单击选择框,用以改变文本的字体、字型、颜色以及大小。Option Explicit

/

Private Sub Check1_Click()

If = 1 Then

= "黑体"

Else

= "宋体"

End If

End Sub

Private Sub Check2_Click()

If = 1 Then

.

Else

= False

End If

End Sub

Private Sub Check3_Click()

If = 1 Then

= 20

Else

= 9

End If

End Sub

Private Sub Check4_Click()

If = 1 Then

= vbGreen

Else

= vbBlack

-

End If

End Sub

Private Sub Command1_Click()

= ""

End Sub

Private Sub Command2_Click()

End

End Sub

:

20做出2个周期的正弦波形. Private Sub Form_Click()

Dim i%, x#, y#

Const pi As String =

(-2 * pi, -(2 * pi,

(-2 * pi, 0)-(2 * pi, 0)

(0, -(0,

For x = -2 * pi To 2 * pi Step

y = Sin(x)

(x, y)

Next x

21以窗体为中心,产生1000个半径颜色随机的同心圆. Private Sub Form_Click()

For i = 1 To 1000

x = / 2

y = / 2

r = Int(Rnd * y)

c = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)

(x, y), r, c

{

Next

End Sub

22.九九乘法表

Private Sub Form_Click()

Dim i%, j%

= "九九乘法表"

Print Tab(48); Caption

Print Tab(48); "-------------"

For i = 1 To 9

For j = 1 To i

Print Tab((j - 1) * 12 + 1); i; "*"; j; "="; i * j;

Next j

Print

Next i

End Sub

23求最大公约数和最小公倍数

Private Sub Command2_Click()

= ""

End Sub

Private Sub command1_Click()

Dim m%, n%, r%, t%

m = Val

n = Val

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

t = m * n

Do

r = m Mod n

m = n

n = r

Loop Until r = 0

= "公约数:" & m

= "公倍数" & t / m

24.用随机函数产生50个两位数,保存于一个一维数组中,要求找出其中的最大值,最小值及所在位置.

(

相关主题
相关文档
最新文档