程序填空例子_第1页
程序填空例子_第2页
程序填空例子_第3页
程序填空例子_第4页
程序填空例子_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

l 以下程序的功能如图。Private Sub Form_Click()Dim a%, b%, c%, d!Dim x1, x2Dim 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 Sub答 案 1 d 0 或 0 d 2 End If 3 Elsel 以下程序用于判断一个正整数(3)是否为素数。Private Sub Form_Click() N 2 N-1 2 INT(SQR(N)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 Sub答 案 1 swit = 0 2 n Mod i = 0 或 n/i = ni 或 n/i = int(n/i) 3 i = i + 1l 下面的程序段,用于实现在一个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 Sub答 案 1 ReDim mat(n, m) As Integer 或 ReDim mat(n, m) 2 Max Max 3 row = Il 以下程序段用于实现矩阵转置,即将一个nm的矩阵的行和列互换Private Sub Form_Click()Const n = 3Const m = 4Dim a(n, m) As Integer, 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 Sub答 案 1 Next i 或 Next 2 b(j, i) = a(i, j) 3 print 或 form1.print 或 ?l 以下程序段用于输出杨辉三角:结果样式如图Private Sub Form_Click()Const n = 10Dim arr(n, n) As IntegerFor I = 1 To n arr(I, I) = 1*SPACE* 【?】Next IFor I = 3 To n For j = 2 To I - 1*SPACE* arr(i, j) =【?】 Next jNext IFor I = 1 To n For j = 1 To I*SPACE* 【?】 Next j PrintNext IEnd Sub答 案 1 arr(i, 1) = 1 2 arr(i - 1, j - 1) + arr(i - 1, j) 3 Print arr(i, j); 或 form1.Print arr(i, j); 或 ? arr(i, j);l 下面过程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 Function答 案1 max(max1, 73, 352) 2 ab 或 b c 或 c ml 以下程序段利用随机函数生成15个10-100之间的整数,然后用选择法将其从小到大排序。INT( 91*RND+10)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* T=I For j = i + 1 To n If a(j) a(t) Then t = j Next j*SPACE* If 【?】 Then min = a(i): a(i) = a(t): a(t) = min End IfNext iFor i = 1 To n Print a(i);Next iEnd Sub答 案1 Int(91 * Rnd) + 10 2 t=i 3 t Il 下面的程序段用于实现以下功能:利用冒泡法将一组整数从小到大排序。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 【?】 work = True For 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* 【?】 End If Next j*SPACE* If work Then 【?】Next iFor i = 1 To n Print a(i);Next iEnd Sub答 案 1 Step -1 2 work = False 或 work=0 3 Exit Forl 以下程序的功能如图。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 m = 1 To k*SPACE* p =P*M Next m*SPACE*【?】N=PEnd Function答 案1 n(m) 2 p * m 3 n = pl 下面的程序段用于求矩阵相乘C=AB,设A、B、C分别为mp、pn、mn的矩阵。Private Sub Form_Click()Const m = 4, p = 3, n = 2Dim a(1 To m, 1 To p) As IntegerDim b(1 To p, 1 To n) As IntegerDim c(1 To m, 1 To n) As IntegerDim i As Integer, j As Integer, k As Integer, sum As IntegerFor i = 1 To m For k = 1 To p a(i, k) = i Next kNext iFor i = 1 To p For k = 1 To n b(i, k) = i Next kNext iFor i = 1 To m For j = 1 To n*SPACE* 【?】 For k = 1 To p*SPACE* sum = sum +【?】 Next k*SPACE* c(i, j) =【?】Next j, iPrint 输出矩阵For i = 1 To m For k = 1 To n Print c(i, k), Next k PrintNext iEnd Sub答 案 1 sum = 0 2 a(i, k) * b(k, j) 3 suml 从键盘输入学生分数,统计学生总人数和各分数段人数,即优秀(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 Sub答 案 1 score =0 And score = 100 或 0=score And score = 100 或 0=score 或 score =0 And 100=score 2 score 3 End Selectl 以下程序段用于实现:输入两个正整数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 Sub答 案 1 num1 num1 2 b 0 或 b 0 或 0 b 3 b = templ 利用下面的过程求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* S=1 For i = 1 To x s = s * i*SPACE* p=p+y Next i Print s, pEnd Sub答 案1 find m, n 2 s = 1 或 s = 1:p=0 3 p+yl 以下程序段用于求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 Function答 案1 sum+ mul(i) 2 x 3 mul = sl 从键盘上输入一串字符,以?结束,统计输入字符中的大、小写字母和数字的个数。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 Sub答 案1 ch ? 或 not ch = ? 2 A To Z 3 Loopl 下面的程序段用于建立文件并输出文件,文件内容如下:* * * * *Private Sub Form_Click()*SPACE*Open c:1.txt For 【?】 As #1For i = 1 To 5 Print #1, Spc(i); *Next i*SPACE*【?】*SPACE*Open c:1.txt For 【?】 As #1For i = 1 To 5 Line Input #1, x Print xNext iClose #1End Sub答 案1 Output 2 Close #1 或 Close 3 Inputl 下面的程序段用于打印出以下图形 * * * * * * *Private Sub Form_Click()Dim i%, j%, k%For i = 0 To 3 For j = 0 To 2 - i Print ; Next j*SPACE* For k = 1 To 【?】 Print *; Next k PrintNext iFor i = 0 To 2 For j = 0 To i*SPACE* 【?】 Next j For k = 0 To 4 - 2 * i Print *; Next k*SPACE* 【?】Next iEnd Sub答 案 1 2 * i+1 2 Print ; 3 Printl 下面的程序实现:从键盘输入一个数字,将其插入一个有序数组中,插入后的数组仍保持有序。-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 Sub答 案1 a(0) = x 2 a(i + 1) = a(i) 3 a(i + 1) = xl 本程序用于实现:从键盘接收一数字,判断其是否在数组中,如果在数组中则将其删除,否则显示该数字不在数组中。Private Sub Form_Click()Dim a(10) As Integer, x As IntegerFor i = 1 To 10 a(i) = Int(Rnd * 90) + 10 Print a(i);Next iPrintx = InputBox(请输入要删除的整数)For i = 1 To 10*SPACE* If a(i) = x Then 【?】Next i*SPACE*If 【?】 Then For k = i To 9*SPACE* 【?】 Next k Print 删除后的数组: For i = 1 To 9 Print a(i); Next iElse Print 该数字不在数组中End IfEnd Sub答 案 1 Exit For 2 ii 3 a(k) = a( k + 1)l 过程suixian可以判断某一个数字是否是水仙花数,利用该过程找出所有水仙花数。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 Sub答 案1 suixian (i) 2 x 100 3 x = i 3 + j 3 + k 3l 代码功能:输入数字1-7,显示其对应的星期几(例:输入1,显示星期日,如果输入其它内容,一律显示输入错误)-Private Sub Command1_Click()dim x as integerdim y as stringx=val(text1.text)*SPACE* 【?】 case 1 y=今天是星期日 case 2 y=星期一 case 3 y=星期二 case 4 y= 星期三 case 5 y=星期四 case 6*SPACE* 【?】 case 7 y= 星期六*SPACE* 【?】 y = 输入错误 end selectText2.Text = yEnd Sub答 案 1 select case x 2 y=星期五 3 Case Elsel 输入任何一个英文字母x, 若x的值 为a,c,d-f ,则显示x的大写字母; 若x的值为m,o,p-z,则显示x的小写字母; 若为其它的值,则显示xa(如输入的X的值是g,则显示ga)。Private Sub Command1_Click()x = Text1.Text*SPACE* 【?】*SPACE* Case 【?】 Label1.Caption = UCase(x) Case m, o, p To z Label1.Caption = LCase(x) Case Else*SPACE* 【?】 End SelectEnd Sub答 案1 Select Case x 2 a, c, d To f 3 Label1.Caption = Trim(x) + a 或 Label1.Caption = x + a 或 Label1.Caption = x & a 或 Label1.Caption = Trim(x) & al 根据输入的学习成绩,分别显示优秀(90分以上), 良好(75分以上),及格(60分以上),不及格几个等级。Private Sub Command1_Click()x = Val(Text1.Text)If x = 90 Then Label1.Caption = 优秀*SPACE*ElseIf 【?】Then Label1.Caption = 良好ElseIf x = 60 Then*SPACE* 【?】*SPACE*【?】 Label1.Caption = 不及格End IfEnd Sub答 案1 x = 75 或 75 = X 2 Label1.Caption = 及格 或 Label1 = 及格 3 Elsel 期末某班在一周6天内考三门分别为x,y,z的考试课程,规定一天只能考一门,课程依次按先考x,后考y,最后考z,最后一门课程最早周五考。用计算机排考试,列出满足条件的方案和方案数。Sub Command1_Click() Dim x%, y%, z%, n% n = 0 For x = 1 To 4*SPACE* For y = 【?】 To 5 For z = 5 To 6*SPACE* If 【?】 And y z Then Print x & Space(9) & y & Space(9) & z*SPACE* 【?】 End If Next z Next y Next x Print n Label1 = 满足条件的方案数为: & nEnd答 案1 x+1 2 x y And yz And xz 或 xF,a-f,B-G.Y-D,Z-E.程序段如下: Private Sub Form_Click() Dim strInput As String * 70 输入字符串 Dim Code As String * 70 加密结果 Dim strTemp As String * 1 当前处理的字符 Dim i As Integer Dim Length As Integer 字符串长度 Dim iAsc As Integer 第i个字Ascii码 *SPACE* 【?】 取字符串 i = 1 Code = *SPACE* 【?】 去掉字符串右边的空格,求真正的长度 Do While (i = A And strTemp Asc(Z) Then iAsc = iAsc - 26 Code = Left$(Code, i - 1) + Chr$(iAsc) ElseIf (strTemp = a And strTemp Asc(z) Then iAsc = iAsc - 26 Code = Left$(Code, i - 1) + Chr$(iAsc) Else Code = Left$(Code, i - 1) + strTemp End If i = i + 1 Loop *SPACE* 【?】 显示加密结果End Sub答 案 1 strInput=txtInput 或 strInput=txtInput.Text 2 Length = Len(RTrim(strInput) 3 strTemp = Mid(strInput, i, 1) 4 txtCode.Text = Code 或 txtCode = Codel 编程序求表达式s=x/2!+x3/4!+.+x(2n-1)/(2n)!的值,并在窗体上输出。(1) 变量x与n的值在窗体单击事件中用InputBox()函数输入,通过调用函数过程s实现题目要求。(2) 求表达式的值用函数过程Function s(n%,x!) As Single完成。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 Function答 案 1 s(n, x) 2 t = t * j 或 t = j * t 3 2 * i - 1 或 i * 2 1l 本程序执行功能为,命令按钮单击一次后,窗体上输出结果为:3625169-Private Sub

温馨提示

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

评论

0/150

提交评论