vb复习题超全了.doc_第1页
vb复习题超全了.doc_第2页
vb复习题超全了.doc_第3页
vb复习题超全了.doc_第4页
vb复习题超全了.doc_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序填空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* ReDim 【?】 mark(1 To n + 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 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!, 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 r = Sqr(d) / (2 * a) x1 = p + r x2 = p - r Else x1 = p x2 = p*SPACE* 【?】 Print x1=; x1, x2=; x2*SPACE*【?】 q = Sqr(-d) / (2 * a) Print x1=; 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 = k And 【?】*SPACE*If 【?】 Then swit = 1Else*SPACE* 【?】End IfLoopIf swit = 0 Then Print n; 是一个素数Else Print n; 不是素数End IfEnd Sub4、功能:下面的程序段,用于实现在一个nXm的矩阵中,找出值最大的元素所在的行和列,并输出其值及行号和列号。Private Sub Form_Click()Dim mat() As IntegerDim n as integer, m As Integern = Val(InputBox(请输入矩阵的行数)m = Val(InputBox(请输入矩阵的列数)*SPACE*【?】For i = 1 To n For j = 1 To m mat(i, j) = InputBox(请输入数组元素值) mat(i, j) = Val(mat(i, j) Next jNext iPrint 所建立的矩阵为For i = 1 To n For j = 1 To m Print mat(i, j); Next j PrintNext iMax = mat(1, 1)For i = 1 To n For j = 1 To m*SPACE* If 【?】 Then Max = mat(i, j) col = j*SPACE* 【?】 End If Next jNext iPrintPrint 矩阵最大的元素的值为:; mat(row, col)Print 它所在的行号为:; row; 列号为:; colEnd Sub5、功能:以下程序段用于实现矩阵转置,即将一个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*【?】For I = 1 To n For j = 1 To m*SPACE* 【?】 Next jNext IPrint 矩阵转置前For I = 1 To n For j = 1 To m Print a(I, j); Next j*SPACE* 【?】Next 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 =【?】Print max1End SubPublic Function max(ByVal a%, ByVal b%, ByVal c%)*SPACE*If 【?】 Then m = aElse m = bEnd If*SPACE*If 【?】 Then 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 As IntegerRandomizeFor i = 1 To n*SPACE* a(i) =【?】Next iFor i = 1 To n Print a(i);Next iPrintFor i = 1 To n - 1*SPACE* 【?】 For j = i + 1 To n If a(j) a(j + 1) Then x = a(j): a(j) = a(j + 1): a(j + 1) = x*SPACE* 【?】 End If Next j*SPACE* If work Then 【?】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=【?】 s = s + 1 / p Next m Print sEnd SubFunction n(k%) p = 1 For m = 1 To k*SPACE* p =【?】 Next m*SPACE*【?】End Function10、功能:从键盘输入学生分数,统计学生总人数和各分数段人数,即优秀(90-100)、良好(80-89)、中等(70-79)、及格(60-69)、不及格(60以下)的人数。Private Sub Form_Click()Dim score%, n1%, n2%, n3%, n4%, n5%msg = 请输入分数(-1结束)msgtitile = 输入数据score = Val(InputBox(msg, msgtitle)*SPACE*While 【?】 total = total + 1*SPACE* Select Case 【?】 Case Is = 90 n1 = n1 + 1 Case Is = 80 n2 = n2 + 1 Case Is = 70 n3 = n3 + 1 Case Is = 60 n4 = n4 + 1 Case Else n5 = n5 + 1*SPACE* 【?】score = Val(InputBox(msg, msgtitle)WendPrint n1, n2, n3, n4, n5,totalEnd Sub11、功能:以下程序段用于实现:输入两个正整数m和n,求其最大公因数和最小公倍数。Private Sub Form_Click()Dim a%, b%, num1%, num2%, tempnum1 = InputBox(请输入一个正整数)num2 = InputBox(请输入一个正整数)*SPACE*If 【?】 Then temp = num1: num1 = num2: num2 = tempEnd Ifa = num1b = num2*SPACE*Do While 【?】 temp = a Mod b a = b*SPACE* 【?】LoopPrint 最大公因数为:; aPrint 最小公倍数为:; num1 * num2 / aEnd Sub12、功能:利用下面的过程求m!和m*nPrivate Sub Form_Click()Dim m As Integer, n As Integer m = 2 n = 3*SPACE* 【?】End SubPrivate Sub find(x As Integer, y As Integer) Dim s, i As Integer*SPACE* 【?】 For i = 1 To x s = s * i*SPACE* p=【?】 Next i Print s, pEnd Sub13、功能:以下程序段用于求n!Private Sub Form_Click() Dim sum As Integer, n As Integer n = InputBox(请输入一个正整数) sum = 0 For i = 1 To n*SPACE* sum =【?】 Next i Print sumEnd SubPrivate Function mul(ByVal x As Integer) Dim s As Integer, i As Integer s = 1*SPACE* For i = 1 To 【?】 s = s * i Next i*SPACE* 【?】End Function14、功能:从键盘上输入一串字符,以?结束,统计输入字符中的大、小写字母和数字的个数。Private Sub Form_Click()Dim ch$, n1%, n2%, n3%n1 = 0n2 = 0n3 = 0ch = InputBox(请输入一个字符)*SPACE*Do While 【?】 Select Case ch Case a To z n1 = n1 + 1*SPACE* Case 【?】 n2 = n2 + 1 Case 0 To 9 n3 = n3 + 1 End Selectch = InputBox(请输入一个字符)*SPACE*【?】Print n1, n2, n3End Sub15、功能:下面的程序实现:从键盘输入一个数字,将其插入一个有序数组中,插入后的数组仍保持有序。Private Sub Form_Click()Dim a(10) As Integer, x As IntegerFor i = 1 To 8 a(i) = 2 * i - 1 Print a(i);Next iPrintx = InputBox(请输入要插入的整数)*SPACE*【?】i = 8Do While a(i) x*SPACE* 【?】 i = i - 1Loop*SPACE*If i 0 Then 【?】For i = 1 To 9 Print a(i);Next iEnd Sub16、功能:过程suixian可以判断某一个数字是否是水仙花数,利用该过程找出三位数中所有水仙花数。所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。 Private Sub Form_Click()Dim i As IntegerFor i = 100 To 999*SPACE* 【?】Next iEnd SubPublic Sub suixian(x As Integer)Dim i%, j%, k%*SPACE*i =【?】j = (x - i * 100) 10k = x - i * 100 - j * 10*SPACE*If 【?】 Then Print xEnd Sub17、功能:输入一个数,若大于0,则显示+;若小于0,则显示 -;若等于0,则显示零。Private Sub Command1_Click( )x = Val(Text1.Text)Select Case x*SPACE* 【?】 Label1.Caption = + Case Is 0*SPACE* 【?】*SPACE* 【?】 Label1.Caption = 零 End SelectEnd Sub18、功能:以下程序段用于计算数组中各元素的乘积。Private Sub Command1_Click()*SPACE* Dim a(1 To 5) 【?】, b%(2 To 10), i%, t1#, t2# For i = 1 To 5 a(i) = i Next i For i = 2 To 10 b(i) = i Next i t1 = tim(a() t2 = tim(b() Print t1=; t1, t2=; t2End Sub*SPACE*Function tim(【?】 As Integer) Dim t#, i% t = 1 For i = LBound(a) To UBound(a) t = t * a(i) Next i tim = tEnd Function19、功能:本程序功能为,单击窗体,Form1的输出结果为 A1=10 B1=20 A2=20 B2=10*SPACE*Public Sub Swap1【?】 x As Integer, ByVal y As Integer) Dim t As Integer t = x x = y y = tEnd SubPublic Sub Swap2(x As Integer, y As Integer) Dim t As Integer t = x x = y y = tEnd SubPrivate Sub Form_Click() Dim a As Integer, b As Integer a = 10 b = 20 *SPACE* 【?】 a, b Form1.Print A1=; a, B1=; b a = 10 b = 20 *SPACE* 【?】 a, b Form1.Print A2=; a, B2=; bEnd Sub20、功能:求表达式s=x/2!+x3/4!+.+x(2n-1)/(2n)!的值,并在窗体上输出。Private Sub Form_Click() Dim x As Single Dim n As Integer Dim sum As Single x = Val(InputBox(Please input x Value:) n = Val(InputBox(Please input a integer:) *SPACE* sum = 【?】 Print s=; sumEnd SubFunction s(n As Integer, x As Single) As Single Dim i As Single, t As Long s = 0 For i = 1 To n t = 1 For j = 1 To 2 * i *SPACE* 【?】 Next j *SPACE* s = s + x (【?】) / t Next iEnd Function21、功能:写出程序运行后,单击窗体,Form1上显示的内容sum 函数的功能为累加求和 isum = 1 isum = 3 isum = 6 isum = 10 isum = 15Private Sub Form_Click() Dim I As Integer, isum As Integer *SPACE* For I = 1 To 【?】 isum = sum(I) *SPACE* Form1.Print isum 【?】 Next IEnd SubPrivate Function sum(n As Integer) Static j As Integer *SPACE* 【?】 j + n sum = jEnd Function22、功能:程序输出结果为:n=3 x=42 y=9Private Sub Command1_Click() Dim n, x, y As Integer *SPACE* n = 0: x =【?】: y = 0 Do While x 20 *SPACE* n = n 【?】 y = x + y x = x * (x + 1) *SPACE* 【?】 Form1.Print n= & Str(n) Form1.Print x= & Str(x) Form1.Print y= & Str(y)End Sub23、功能:由输入对话框输入n(n必须为大于零且小于30的自然数), 计算下列表达式的值,并在标签框Label1上显示。 sum=1/2+1/6+ . +1/(k*(k+1) (k0 且n30) *SPACE* Do While n = 30 n = Val(InputBox(n=, 请重输入) Loop sum = 0 k = 0 Do *SPACE* k =【?】 sum = sum + 1 / (k * (k + 1) *SPACE* Loop Until 【?】 Label1.Caption = Sum= + Str(sum) End Sub24、功能: 用户单击命令按钮后,程序将文本框Text1中的文本反转显示,同时在文本框Text2中显示文本框Text1中字符串的个数。Private Sub Command1_Click() If Text1.Text = Then Exit Sub Text2.Text = 0 Else *SPACE* Text1.Text =【?】 (Text1.Text) End IfEnd SubPrivate Sub Form_Load() Text1.Text = Text2.Text = 0End SubPrivate Function MyFun(s1 As String) As String Dim Pos As Integer Dim Str1 As String Dim intC As Integer Const Sp As String = *SPACE* Pos = Len(【?】) For intC = Pos To 1 Step -1 Str1 = Str1 & Mid(s1, intC, 1) Next intC *SPACE* MyFun = 【?】 Text2.Text = PosEnd Function25、功能:下面的事件过程判断文本框Text1中输入的数所在区间,并在文本框Text2中输出判断结果Private Sub Command1_Click() Dim int1 As Integer4题Dim i, j, k, m As Integers = 0 :i = 2:j = 1For k = 1 To 10 s = s + i / j m = j Print (CStr(i) & / & CStr(j) j = i i = i + mNext *SPACE* 【?】 = Val(Text1.Text) Select Case int1 Case 0 Text2.Text = 值为0 *SPACE* Case 【?】 Text2.Text = 值在1和10之间(包括1和10) *SPACE* Case Is 【?】 Text2.Text = 值大于10 Case Else Text2.Text = 值小于0 End SelectEnd Sub6题 Dim i, j, k As IntegerFor i = 1 To 5 k = 1 For j = 1 To i k = k * j Next s = s + kNextPrint (CStr(s)程序设计题1、题目:(事件)单击窗体(响应)用输入框输入一自然数,判断是正数、负数或零,并根据输入的数用消息框显示正数、负数”或零。1题n = InputBox(输入一个自然数)If n 0 Then result = 正数ElseIf n max Then max = a(i) End If If a(i) a(j) Then imin = j Next j temp = a(i) a(i) = a(imin) a(imin) = temp Next i13、题目:单击窗体。求一个数,它除3余2,除5余3,除7余2,请将满足上面条件的最小数保存到sum变量中。使用for.next语句完成程序。13题Dim i As Integer For i = 2 To 1000 If i Mod 3 = 2 And i Mod 5 = 3 And i Mod 7 = 2 Then Print i Exit For End IfNext i sum = i14、题目:编写函数fun,函数的功能是:判断一个字符是字母字符、数字字符还是其他字符,并做相应的显示。字母字符显示字符串字母,数字字符显示字符串数字,其他字符显示字符串其他,要求使用IF语句来实现。If UCase(n) = A And UCase(n) = 0 And n = 90 Then fun = 优秀ElseIf mark = 80 Then fun = 良好ElseIf mark = 70 Then fun = 中等ElseIf mark = 60 Then fun = 及格El

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论