《vb复习题(带答案)(1).doc》由会员分享,可在线阅读,更多相关《vb复习题(带答案)(1).doc(14页珍藏版)》请在金锄头文库上搜索。
1、程序填空1、功能:要求输入若干学生的成绩,计算平均分和高于平均分的人数,并将这两个数据放入数组的最后。Private Sub Form_Click() Dim mark() As Integer, i%, n%, aver n = InputBox(输入学生的人数) ReDim mark(1 To n) aver = 0 For i = 1 To n mark(i) = Int(Rnd * 101) aver = aver + mark(i) Next i *SPACE* preserve ReDim 【?】 mark(1 To n + 2) 增加两个元素,存放平均分和高于平均分的人数,原来的
2、学生成绩仍保留 mark(n + 1) = aver / n mark(n + 2) = 0 For i = 1 To n *SPACE* If mark(i) mark(【?】) Then mark(n + 2) = mark(n + 2) + 1 n+1 Next i For i = 1 To n Print mark(; i; )=; mark(i) Next i Print 平均分=; mark(n + 1), 高于平均分人数=; mark(n + 2)End Sub2、功能:以下程序的功能如(图1)。Private Sub Form_Click()Dim a%, b%, c%, d!
3、, x1, x2, p, q, ra = InputBox(请输入a的值)b = InputBox(请输入b的值)c = InputBox(请输入c的值)d = b * b - 4 * a * cp = -b / (2 * a)If d = 0 Then*SPACE* If 【?】 Then d0 r = Sqr(d) / (2 * a) x1 = p + r x2 = p - r Else x1 = p x2 = p*SPACE* 【?】 end if Print x1=; x1, x2=; x2*SPACE*【?】 else q = Sqr(-d) / (2 * a) Print x1=;
4、 p; +; q; i, x2=; p; -; q; iEnd IfEnd Sub3、功能:以下程序用于判断一个正整数(3)是否为素数。Private Sub Form_Click()n = InputBox(请输入一个正整数(3))k = Int(Sqr(n)i = 2swit = 0*SPACE*Do While i max Max = mat(i, j) col = j*SPACE* 【?】 row=i End If Next jNext iPrintPrint 矩阵最大的元素的值为:; mat(row, col)Print 它所在的行号为:; row; 列号为:; colEnd Sub
5、5、功能:以下程序段用于实现矩阵转置,即将一个nm的矩阵的行和列互换Private Sub Form_Click()Const n = 3Const m = 4Dim a(n, m), b(m, m) As IntegerFor I = 1 To n For j = 1 To m a(I, j) = Int(Rnd * 90) + 10 Next j*SPACE*【?】 next iFor I = 1 To n For j = 1 To m*SPACE* 【?】 b(j,i)=a(I,j) Next jNext IPrint 矩阵转置前For I = 1 To n For j = 1 To m
6、 Print a(I, j); Next j*SPACE* 【?】 printNext IPrint 矩阵转置后For I = 1 To m For j = 1 To n Print b(I, j); Next j PrintNext IEnd Sub6、下面过程max()用于求3个数中最大值,利用这个过程求5个数中最大值。Private Sub Form_Click()Print 5个数34、124、68、73、352的最大值是:max1 = max(34, 124, 68)*SPACE*max1 =【?】 max(max1,73,352)Print max1End SubPublic Fu
7、nction max(ByVal a%, ByVal b%, ByVal c%)*SPACE*If 【?】 Then ab m = aElse m = bEnd If*SPACE*If 【?】 Then mc max = mElse max = cEnd IfEnd Function7、功能:以下程序段利用随机函数生成15个10-100之间的整数,然后用选择法将其从小到大排序。Private Sub Form_Click()Const n = 15Dim a(1 To n) As IntegerDim i As Integer, j As Integer, t As Integer, min
8、As IntegerRandomizeFor i = 1 To n*SPACE* a(i) =【?】 int(rnd*91+10)Next iFor i = 1 To n Print a(i);Next iPrintFor i = 1 To n - 1*SPACE* 【?】 t=I For j = i + 1 To n If a(j) a(t) Then t = j Next j*SPACE* If 【?】 Then ti min = a(i): a(i) = a(t): a(t) = min End IfNext iFor i = 1 To n Print a(i);Next iEnd Su
9、b8、功能:下面的程序段用于实现以下功能:利用冒泡法将一组整数从小到大排序。Private Sub Form_Click()Const n = 15Dim a(1 To n) As Integer, work As BooleanDim i As Integer, j As Integer, x As IntegerRandomizeFor i = 1 To n a(i) = Int(90 * Rnd) + 10Next iFor i = 1 To n Print a(i);Next iPrint*SPACE*For i = n To 2 【?】 step -1 work = True For
10、 j = 1 To i - 1 If a(j) a(j + 1) Then x = a(j): a(j) = a(j + 1): a(j + 1) = x*SPACE* 【?】 work=false End If Next j*SPACE* If work Then 【?】 exit for Next iFor i = 1 To n Print a(i);Next iEnd Sub9、功能:以下程序的功能如(图1)。Private Sub Form_Click()Dim s As Single, m As Integer, p# s = 1 For m = 1 To 10*SPACE* p=【?】n(m) s = s + 1 / p Next m Print sEnd SubFunction n(k%) p = 1 For