3、如下程序的功能是求N!。完善程序代码。 Private Sub Form_Click()
Dim i As Integer, F As Long Dim N As Integer
N = InputBox(\请输入N\ ___________ For i = 1 To N
F = ___________ Next i
Print N; \ End Sub
4、下列程序的功能是:用100元买100只鸡,公鸡每只5元,母鸡每只3元,小鸡一元3只。要求完善程序。 Private Sub form_Click()
Dim x As Integer, y As Integer, z As Integer For x = 0 To 20
For y = 0 To ___________ For z = 0 To 100 Step 3
If ___________ And ___________ Then Print x; y; z Next z, y, x End Sub
5、下列程序的功能是:求一维数组的最大值及其下标。要求完善程序。 Option Base 1
Private Sub form_Click()
Dim t(10) As Integer, max As Integer, max_i As Integer For i = 1 To 10
t(i) = Int(Rnd * 100) Next i
max = t(1): max_i = ___________ For i = 2 To 10
If t(i) ___________Then max =___________ max_i = i End If Next i
Print max, max_i End Sub
6、如下程序的功能是:随机产生12个两位整数,存放在数组Com中,并从中找出一个最大值和一个最小值,完善程序。 Option Explicit Option Base 1
29
Private Sub Form_Click()
Dim Com(12) As Integer, I As Integer
Dim Max As Integer, ___________As Integer Randomize
For I = 1 To ___________
Com(I) = Int(___________* Rnd) + 10 Print Com(I); Next I Print
Max = Com(1): Min =___________ For I =___________ to 12 If Com(I) > Max Then ___________
ElseIf Com(I) < Min Then Min = Com(I) End If Next I
Print \最小数是:\ Print \最大数是:\End Sub
7、如下程序的功能是:用选择法对数组按升序排序,排序前将原始数据显示在Text1内,排序后的结果显示在Text2内,完善程序。 Option Explicit Option Base 1
Private Sub Command1_Click()
Dim Sort(10) As Integer, Temp As Integer Dim I As Integer, J As Integer Randomize
Text1 = \ For I = 1 To 10
Sort(I) = Int(99 * Rnd) + 1 Text1 = ___________ Next I
For I = 1 To ___________ For J =___________to 10 If ___________Then Temp = Sort(I) Sort(I) = Sort(J) Sort(J) = Temp End If Next J
Text2 = Text2 & Str(Sort(I)) Next I
30
Text2 = Text2 & Str(Sort(I)) End Sub
8、如下程序的功能是找出200以内所有的素数,并按每行10个的形式输出。完善程序代码。 Option Base 1 Option Explicit
Private Sub Form_Click()
Dim Prime() As Integer, I As Integer
Dim K As Integer, M As Integer, J As Integer M = 1
Redim Prime(M) Prime(M) = 2
For I = 3 To 199 Step 2
For K = 2 To ___________
If ___________Then Exit For Next K
If K > Sqr(I) Then
M = M + 1
Preserve Prime(M) Prime(M) = I End If Next I
For J = 1 To Ubound(Prime) Print Prime(J);
If J Mod ___________ = 0 Then Print Next J End Sub
9、下面的程序功能是:生成100个 -10到10之间的随机整数并显示到文本框中,统计这100个数中 -10 、-5 、 5 、10的个数并显示在图片框中。请完善程序。 Dim A(1 To 100) As Integer Private Sub Command1_Click()
Dim num1 As Integer, num2 As Integer, num3 As Integer, num4 As Integer num1 = 0: num2 = 0: num3 = 0: num4 = 0 For I = 1 To 100
Select Case ___________ Case -10
num1 = num1 + 1 Case -5
num2 = num2 + 1 Case 5
num3 = num3 + 1 Case 10
num4 = num4 + 1 End Select Next I
Picture1.Print \的个数=\的个数=\Picture1.Print \的个数=\的个数=\End Sub
31
Private Sub Form_Load()
Text1.Text = \For I = 1 To 100
___________= Int(Rnd() * 21 - 10)
Text1.Text = ___________& Str(A(I)) & \ \Next I End Sub
10、下面的过程用比较交换法实现数据从大到小的排序,请完善代码。 Sub SortArray(a() As Integer) Dim i As Integer, j As Integer Dim n As Integer, t As Integer ___________= UBound(a) For i = 1 To n - 1
For j =___________ To n If a(i) < a(j) Then t =___________ a(i) = a(j)
___________= t End If Next j Next i End Sub
11、下列程序代码读入N个数,用比较交换法对这N个数按从大到小的顺序排序,并在文本框Text1中输出排序结果。 Private Sub Command1_Click()
Dim a() As Integer
Dim i As Integer, j As Integer Dim t As Integer, n As Integer
n = Val(InputBox(\请输入正整数N:\ ReDim ___________ For i = 1 To n
___________= Val(InputBox(\请输入第\个数\ Next i
For i = 1 To n - 1
For j = ___________To n If a(i) < a(j) Then t = a(i)
a(i) =___________ a(j) = ___________ End If Next j Next i
For i = 1 To n
Text1.Text = Text1.Text & Str(a(i)) & \ Next i End Sub
12、以下程序代码实现单击命令按钮Command1时生成20个[0,100]之间的随机整数,存于数组中,打印数组中大于50的数,并求这些数的和。 Private Sub Command1_Click()
Dim a(1 To 20) As Integer
Dim i As Integer, sum As Integer For i = 1 To 20
a(i) = ___________
32
Picture1.Print a(i); Next i
For i = 1 To 20
If ___________Then Picture2.Print a(i); sum = ___________ End If Next i
Picture2.Print
Picture2.Print \End Sub
13、下列程序的功能是:在窗体上生成包含有[1,10]之间随机整数的6行6列的矩阵,并对该矩阵进行转置。要求完善程序。 Option Base 1
Private Sub form_Click()
Dim a(6, 6) As Integer, b(6, 6) As Integer For i = 1 To 6 For j = 1 To 6
a(i, j) = ___________ Print a(i, j); Next j
___________ Next i Print
For i = 1 To 6 For j = 1 To 6
b(i, j) = ___________ Print b(i, j); Next j Print Next i End Sub
14、下面程序的功能是:在窗体上输出一个N行、N列、主对角线和次对角线元素为1、其余元素均为0的矩阵。N由用户指定。请完善程序。 Option Base 1
Dim A() As Integer
Private Sub Form_Click()
Dim N As Integer, I As Integer, J As Integer
N = Val(InputBox(\请输入N值\生成矩阵\ReDim For I = 1 To N For J = 1 To N A(I, J) = 0
If ___________Then A(I, J) = 1 End If
If I + J = N + 1 Then A(I, J) = 1
33