方法二:
Dim a%, m%, b%, c%, d% Private Sub Form_Click() a = Int(Rnd * 900 + 100) Print a
d = (a Mod 10) * 100
b = (a Mod 100) - (a Mod 10) c = a \\ 100 m = c + b + d Print m End Sub
16、从键盘输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换成“GFEDCBA”。 Private Sub Form_Click() Dim i, a, b, n As String
n = InputBox(\输入字符\i = Len(n)
For a = 1 Toi / 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 End Sub
17、利用随机函数生成一个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 \End Sub
18.编一子过程Procmin(a(),amin),求一维数组中a的最小值amin.
(随机产生10个200-400之间的数,并显示数组各元素;调用子函数,显示最小值) Private Sub Form_Click() Dim a(1 To 10), amin, i% For i = 1 To 10
a(i) = Int(Rnd * 200 + 200) Print a(i); Next i
Call s(a(), amin) Print
Print \End Sub
Sub s(b(), min) Dim i%
min = b(LBound(b))
For i = LBound(b) + 1 To UBound(b) If b(i) < min Then min = b(i) Next i End Sub
19,20.编一个选择排序法子过程,对已知的若干整数按递增次序排列。 提示:子过程的形式为sub sort1(a%())。 Private Sub Command1_Click() Dim b%(10), i% Print \排序前\For i = 1 To 10
b(i) = Int(Rnd * 100) Print b(i); Next i Print
Print \排序后\Call sort(b()) End Sub
Sub sort(a%())
Dim i%, m%, n%, min%, t% n = UBound(a) For i = 0 To n - 1 min = i
For j = i + 1 To n
If a(j) < a(min) Then min = j Next j
m = a(i): a(i) = a(min): a(min) = m Next i
For i = LBound(a) To UBound(a) Print a(i); Next i End Sub
递减次序排列
Private Sub Command1_Click() Dim b%(10), i%
Print \排序前\For i = 0 To 9
b(i) = Int(Rnd * 100) Print b(i); Next i Print
Print \排序后\Call sort(b()) End Sub
Sub sort(a%())
Dim i%, m%, n%, min%, j% n = UBound(a) For i = 0 To n - 1 For j = 0 To n - 1 - i
If a(j) < a(j + 1) Then m = a(j): a(j) = a(j + 1): a(j + 1) = m Next j Next i
For i = LBound(a) To UBound(a) - 1 Print a(i); Next i End Sub
21,22.已知有序数组a(),编程插入x(x的值为14)。数组a中的元素分别 为{12,6,4,89,75,63,100,20,31}。