VB程序设计练习题附加答案 下载本文

内容发布更新时间 : 2024/5/9 11:54:46星期一 下面是文章的全部内容请认真阅读。

1、结果如下:

B

2、结果如下:

BB CCC DDDD EEEEE

3、功能如下:

在20个由小到大排列的数据中插入一个数,插入数据后的数据仍按由小到大的顺序排列。 4、输出结果为:

2 4 6 8 5、输出结果为:

3

6、输出结果为:

2 452

7、输出结果为:

120 0 2 0

8、输出结果为:

3 3 3 2

五、编程题

1、参考代码如下:

第 36 页 共 32 页

Private Sub Command1_Click() Dim year, x As Integer year = Val(Text1.Text) If year Mod 400 = 0 Then Label2.Caption = \是闰年\ Else

' 下面是嵌套块If语句

If year Mod 4 = 0 And year Mod 100 <> 0 Then Label2.Caption = \是闰年\ Else

Label2.Caption = \不是闰年\ End If End If End Sub

2、程序参考代码如下:

Private Sub Command1_Click() Dim m, n, r As Integer m = Val ( Text1.Text ) n = Val ( Text2.Text )

If m < 0 Or n < 0 Then ? 若判断为非法数据,Then子句输出相应信息 Label2.Caption = \输入数据有错!\

Else ? 若判断为合法数据,Else子句用辗转相除法求余数 r = m Mod n Do While r <> 0 m = n n = r r = m Mod n

第 37 页 共 32 页

Loop

? 循环结束后n中存放的就是最大公约数,输出n值 Label2.Caption = \最大公约数为:\ End If End Sub

3、参考代码如下:

Private Sub Command1_Click() Dim x As Single x = Val(Text1.Text) If x > 100 Or x < 0 Then Text2.Text = \ ElseIf x < 60 Then

Text2.Text = \不及格\ ElseIf x < 70 Then Text2.Text = \及格\ ElseIf x < 80 Then Text2.Text = \中等\ ElseIf x < 90 Then Text2.Text = \良好\ Else

Text2.Text = \优秀\End If End Sub

4、参考代码如下:

Private Sub Form_Load() Dim i As Integer Show '使输出可见

第 38 页 共 32 页

Form1.Font = \新宋体\ For i = 9 To 16 Step 1 Form1.FontSize = i Print i; \号字型\ Next i End Sub

5、参考代码如下:

Private Sub Command1_Click()

Dim a(1 To 11) As Single '定义静态数组a含11个元素 Dim i, j As Integer Dim num As Single

' 给数组元素赋初值,即原始队列

a(1) = 3: a(2) = 5: a(3) = 7: a(4) = 8: a(5) = 9 a(6) = 13: a(7) = 16: a(8) = 19: a(9) = 33 a(10) = 38 ' 输出原始队列 For i = 1 To 10

Label2.Caption = Label2.Caption & a(i) & \ Next i

num = Val(Text1.Text) ' 把输入的数插入队列中 For i = 10 To 1 Step -1 If num < a(i) Then

a(i+1) = a( i ) ' 元素后移一个位置 else

a(i+1) = num

Exit For ' 退出循环

第 39 页 共 32 页

End If Next i ' 输出新队列 For i = 1 To 11

Label3.Caption = Label3.Caption & a(i) & \ Next i End Sub

6、参考代码如下:

Option Base 1

Private Sub Form_Load()

Const N = 4 ' 常量N决定二维数组大小 Dim a(N, N) As Integer Dim i, j, Temp As Integer Show ' 数组初始化

For i = 1 To N ' For循环 i从1变化到N For j = 1 To N a(i, j) = i * 10 + j Next j Next i ' 输出原始数组

Print \转置前的数组:\

For i = 1 To N ' For循环 i从1变化到N For j = 1 To N Print a(i, j); Next j Print

第 40 页 共 32 页