VB程序改错40题
- 格式:doc
- 大小:94.00 KB
- 文档页数:10
1.程序的功能是:单击命令按钮“输出”,在图片框Picture1中输出费波那契数列的前20项项值,要求按区输出,每行输出4个项值。
程序中有两处错误,请修改程序并运行,直到得出正确结果。
注意:程序中的修改行就在注释行:'**********found*************' '请不要删除该行'的下面,请不要修改程序中的其他部分。
最后把修改后的文件按原来文件名存盘。
第1个出错位置:For i=3 to 20第2个出错位置:If i Mod 4=0 then Picture1.PrintPrivate Sub Command1_Click()Dim f(40) As LongDim i As IntegerPicture1.Clsf(1) = 0f(2) = 1Picture1.Print f(1), f(2),'**********found*************' '请不要删除该行'For i = 1 To 40For i=3 to 20f(i) = f(i - 1) + f(i - 2)Picture1.Print f(i),'**********found*************' '请不要删除该行'If i Mod 4 = 0 Then Picture.PrintIf i mod 4=0 then picture1.printNext iEnd Sub2. 程序的功能是:程序运行时,单击“输出”按钮,产生10个[0,99]之间的随机整数存入数组A中,并按照相反的顺序输出在窗体上。
程序中有两处错误,请修改程序并运行,直到得出正确结果。
第1个出错位置:A(i)=Int(Rnd*100+0) p50第2个出错位置:Print A(11-i);Private Sub Command1_Click()RandomizeDim A(10), I As IntegerForm1.ClsFor I = 1 To 10'*********found******** '请不要删除该行A(I) = Int(Rnd * 99) A(i)=Int(Rnd*100+0)Print A(I);Next IPrintFor I = 1 To 10'*********found******** '请不要删除该行Print A(I); Print A(11-i) (注意答案中间无;)Next IEnd Sub3. 在考生文件夹下有一个工程文件Modi1.vbp,相应的窗体文件为Modi1.frm,此外还有一个名为Modiin.dat的文本文件,其内容如下:32 43 76 58 28 12 98 57 31 42 53 64 75 86 97 13 24 35 46 57 68 79 80 59 37程序运行后,单击窗体,将把文件Modiin.dat中的数据输入到二维数组Mat中,在窗体上按5行5列的矩阵形式显示出来,然后交换矩阵第一行和第三行的数据,并在窗体上输出交换后的矩阵。
程序改错题总结规律:变量初始值、循环变量的边界值、循环变量的变化规律、多个条件的连接、变量的类型等1. '程序功能:求s=1+3+5+7+...直到s>2000为止。
程序中有两行有错误。
改正错误,使它能输出正确的结果。
2025Private Sub Command1_Click()Dim i As Integer, s As Longs = 0i = 1Do Until s < 2000s = s + ii = i + 1LoopPrint sEnd Sub2. '程序功能:求三位偶数中,个位数字与十位数字之和除以10所得的余数是百位数字的数的个数。
程序中有两行有错误。
改正错误,使它能输出正确的结果。
45Private Sub Command1_Click()Dim count As IntegerDim a As Integer, b As Integer, c As Integer Dim x As Integercount = 0x = 100While x <= 999a = Int(x / 100)b = Int(x / 10) - a * 10c = x - a * 100 - b * 10if mod(x,2)=0 OR mod(b+c,10)=a then count = count + 1End Ifx = x + 1LoopPrint countEnd Sub3. '程序功能:求200到400间,能被3整除但不能被7整除的数的个数。
程序中有两行有错误。
改正错误,使它能输出正确的结果。
57Private Sub Command1_Click() Dim count As IntegerDim x As Integercount = 0x = 200While x <= 400If x Mod 3 = 0 Or x Mod 7 <> 0 Thencount = count + 1End Ifx = x + 1LoopPrint countEnd Sub4. '程序功能:求能被3整除且至少有一位数字为5的三位数的个数。
1.在考生文件夹下有一个工程文件Modi.vbp,相应的窗体文件为Modi.frm。
其功能是:产生30个[0,90]的随机整数,放入一个数组中,然后输出其中的最大值。
程序运行后,单击命令按钮,可求出数组中的最大值,并在窗体上显示。
运行界面请参阅附图。
在窗体的代码窗口中,已给出了部分程序,程序中有两处错误,请修改程序并运行,直到得出正确结果。
注意:程序中的修改位置就在注释行:’**********found*************’’请不要删除该行’的下面一行中,请不要改动程序中的其他部分。
最后把修改后的文件按原来文件名存盘,提交程序改错题文档。
VERSION 5.00Begin VB.Form Form1Caption = "Form1"ClientHeight = 2100ClientLeft = 1905ClientTop = 1875ClientWidth = 3660LinkTopic = "Form1"ScaleHeight = 2100ScaleWidth = 3660Begin mandButton Command1Caption = "输出最大值"Height = 375Left = 960TabIndex = 0Top = 1320Width = 1575EndEndAttribute VB_Name = "Form1"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = FalseOption Base 1Private Sub Command1_Click()Dim arrN(30) As IntegerDim Max As IntegerRandomizeForm1.ClsFor i = 1 To 30’**********found*************’’请不要删除该行’arrN(i) = Int(Rnd * 51) 91Print Format(arrN(i),"@@@@@@");If i Mod 6 =0 Then PrintNext i’**********found*************’’请不要删除该行’Max = arrN(0) 1For i = 2 To 30If Max<arrN(i) ThenMax = arrN(i)End IfNext iPrint "Max=";Max2. 在考生文件夹下有一个工程文件Modi.vbp,相应的窗体文件为Modi.frm。
(本试卷完成时间 60分钟)[考试须知]1.改错题界面不作要求,主要用来调试程序,题目中有参考界面,则仅作参考;2.考试结束后,文件须存放在指定位置,否则不予评分;3.程序代码书写应成锯齿形。
一、改错题(14分)[题目]随机生成30个三位正整数显示在列表框List1中,并从中找出所有回文数显示在多行文本框Text1中。
Option ExplicitOption Base 1Private Sub Command1_Click()Dim i As IntegerDim A(30) As IntegerFor i = 1 To 30A(i) = Int(Rnd * 900 + 100)List1.AddItem A(i)Next iFor i = 1 To 30If judge(A) ThenText1 = Text1 & CStr(A(i)) & Chr(13) & Chr(10)End IfNext iEnd SubPrivate Function judge(ByVal x As Integer) As BooleanDim S As String, i As IntegerS = Str(x)For i = 1 To Len(S) \ 2If Mid(S, i, 1) = Mid(S, Len(S) - i + 1, 1) Then Exit ForNext iIf i > Len(S) \ 2 Thenjudge = TrueElsejudge = FalseEnd IfEnd Function[要求]1.新建工程,Copy上述代码,改正程序中的错误;2.改错时,不得增加或删除语句,但可适当调整语句位置;3.按要求保存文件,上传窗体文件……G1.frm。
(本试卷完成时间 60分钟)[考试须知]1.改错题界面不作要求,主要用来调试程序,题目中有参考界面,则仅作参考;2.考试结束后,文件须存放在指定位置,否则不予评分;3.程序代码书写应成锯齿形。
VB程序调试试题集锦1. 某Visual Basic程序的一个事件过程如下:Private Sub Command1_Click()Dim ch As Stringch = "abcd"Label1.Caption = chEnd Sub窗体中标签对象的属性设置如图所示。
运行程序,单击命令按钮Command1,出现“要求对象”的出错信息提示。
引起该错误的语句是(A)Dim ch As String (B)ch = "abcd"(C)Label1.Caption = ch (D)End Sub2. 某Visual Basic程序的一个事件过程如下:Private Sub Command1_Click()Dim x As SingleDim y As Singlex = -10y = Abc(x)Label1.Caption = Str(y)End Sub运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,引起该错误的语句是 (A)Dim y As Single (B)x = -10(C)y = Abc(x) (D)Label1.Caption = Str(y)3. 某Visual Basic程序的一个事件过程如下:Private Sub Command1_Click()Dim a As IntegerDim x As Doublea = -4x = Sqr(a)Label1.Caption = Str(x)End Sub运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,此时程序正执行的语句是(A)Dim a As Integer (B)Dim x As Double(C)x = Sqr(a) (D)Label1.Caption = Str(x)4.下列Visual Basic程序用于计算1010的值:Private Sub Command1_Click()Dim n As Integer, s As Integern = 10s = 10 ^ nText1.Text = Str(s)End Sub运行程序时,单击命令按钮Command1后弹出如图所示的出错信息提示,引起该错误的原因是(A)变量s的数据类型说明不当(B)变量n的数据类型说明不当(C)文本框Text1的宽度不够(D)s值太大,因此不能在文本框Text1中输出5.某Visual Basic程序的一个事件过程如下:Private Sub Command1_Click()Dim r As SingleDim pi As Doubler = 100pi = 3.14Label1.Caption = "圆面积为:" + Val(pi * r * r)End Sub运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,引起该错误的语句是 (A)Dim r As Single(B)Dim pi As Double(C)pi = 3.14(D)Label1.Caption = "圆面积为:" + Val(pi * r * r)6. 某Visual Basic程序段如下:Dim a(1 To 10) As IntegerDim i As Integera(1) = 1For i = 2 To 10a(i) = a(i - 1) * iNext i运行该程序段,会出现的错误提示为(A)下标越界 (B)子程序或函数未定义(C)要求对象 (D)溢出7. 有如下的Visual Basic程序:Private Sub Command1_Click()Const pi = 3.14Dim s As Single, r As Singler = Val(text1.Text)pi = 3.1415s = pi * r ^ 2Label1.Caption = "面积为" + Str(s)End Sub程序运行后,单击命令按钮Command1,出现如图所示的错误提示,下列原因分析正确的是 (A)常量不能用小数(B)pi是常量,不允许赋值(C)文本框Text1中输入的数据不是常量(D)表达式结果超过了变量类型的范围8. 某Visual Basic程序如下:Private Sub Command1_Click()Dim a(1 To 10) As IntegerDim i As IntegerFor i = 1 To 10a(i) = i * iNext iList1.AddItem Str(a(i))End Sub运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,此时程序正执行的语句是(A)For i = 1 To 10 (B)a(i) = i * i(C)Next i (D)List1.AddItem Str(a(i))9. 某Visual Basic程序如下:Private Sub Command1_Click()Dim i As Integer, sum As Integersum = 0For i = 10 To 2 Step -2sum = sum + iNext iText1.Text = Str(sum)End Sub运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,此时程序正执行的语句是(A)Sum = 0 (B)For i = 10 To 2 Step -2(C)sum = sum + i (D)Text1.Text = Str(sum)10. 某Visual Basic程序如下:Private Sub Command1_Click()Dim x As Integer, i As IntegerFor i = 1 To 10 Step 3x = i * (i + 2)List1AddItem Str(x)Next iEnd Sub运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,引起该错误的语句是 (A)For i = 1 To 10 Step 3 (B)x = i * (i + 2)(C)List1AddItem Str(x) (D)Next i11. 某Visual Basic程序段如下:Dim a(1 To 11) As IntegerDim i As Integera(1) = 1If i = 5 Thena(i) = a(i - 1) * i运行该程序段,会出现的错误提示为12. 某Visual Basic程序段如下:Dim a(1 To 10) As IntegerDim i As Integera(1) = 1For i = 2 To 10a(i) = a(i - 1) * iNext i运行该程序段,会出现的错误提示为 13. 某Visual Basic程序段如下:Dim i As IntegerDo While i <= 10If i Mod 2 = 1 Theni = i + 1Loop运行该程序段,会出现的错误提示为。
【程序改错】题目:该程序实现将输入的 0 - 255 之间的正整数转换成二进制数Option ExplicitPrivate Sub Form_Click()Const n = 8Dim a(n) As Integer, s As String, m As Integer, x As Integer x = Val(InputBox("请输入一个 0 - 255 之间的正整数:"))Print xFor m = 1 To na(m) = x Mod 2x = x / 2Next ms = " "For m = n To 0 Step -1s = Str(a(m))Next mPrint sEnd Sub答案:=======(答案1)=======For m = 0 To n=======(答案2)=======x= x \ 2=========或=========x= int(x/2)=======(答案3)=======s = s + Str(a(m))第3题(1.0分)题号:463'【程序改错】'题目:以下程序功能是输入三个数,由大到小排序。
Option ExplicitDim A As IntegerDim B As IntegerDim C As IntegerPrivate Sub Form_Click()Dim nTemp As IntegerA = Val(InputBox("Please input first integer", "输入正整数"))B = Val(InputBox("Please input second integer", "输入正整数"))C = Val(InputBox("Please input third integer", "输入正整数"))If A <= C ThennTemp = AA = BB = nTempEnd IfIf B <= C ThennTemp = AA = CC = nTempEnd IfIf A <= B ThennTemp = BB = CC = nTempEnd IfPrint "The integers in order is"; A; B; CEnd Sub答案:=======(答案1)=======If A <= B Then=========或=========If B >= A Then=======(答案2)=======If A <= C Then=========或=========If C >= A Then=======(答案3)=======If B <= C Then=========或=========If C >= B Then第4题(1.0分)题号:127'【程序改错】'题目:下面程序可输出如下图形:' *' ***' *****' *******' *********'------------------------------------------------Option ExplicitPrivate Sub Form_Click()Dim m As Integer, n As Integer, s As String, i As Integer, j As Integer n = 4m = 1s = "*"For i = 5 To 1 Step -1Print Spc(n)For j = 1 To 2 * m - 1Print s;Next jPrintn = n + 1m = m - 1Next iEnd Sub答案:=======(答案1)=======Print Spc(n);=========或=========Print Spc(i);=========或=========Spc(n);=========或=========Spc(i);=======(答案2)=======n = n - 1=========或=========n = - 1+n=======(答案3)=======m = m + 1第5题(1.0分)题号:469'【程序改错】'题目:已知一个函数f(x)=1000*sin(x),利用绘图方法' 在图片框中显示其图形。
第57题(1.0分)题号:465'------------------------------------------------'【程序改错】'------------------------------------------------'题目:用InputBox函数输入一个字符串,编写程序按与' 输入的字符相反的次序用Msgbox函数输出这个字' 符串。
如输入字符串为"abcdefgh",则输出为"h' gfedcba",输出效果如图1。
'------------------------------------------------ Option ExplicitPrivate Sub Command1_Click()Dim pristr As String, outstr As StringDim i As Integerpristr = InputBox("please input a string")'**********FOUND**********For i = 0 To Len(pristr)'**********FOUND**********outstr = outstr + Mid(pristr, Len(pristr) - i) Next i'**********FOUND**********MsgBox outstr, , "The Output Result "End Sub答案:=======(答案1)=======For i = 0 To Len(pristr) - 1=========或=========For i = 0 To -1+Len(pristr)=======(答案2)=======outstr = outstr + Mid(pristr, Len(pristr) - i, 1)=========或=========outstr = Mid(pristr, Len(pristr) - i, 1)+outstr=======(答案3)=======MsgBox outstr, vbQuestion, "The Output Result "第59题(1.0分)题号:147'------------------------------------------------'【程序改错】'------------------------------------------------'题目:下面的程序用来产生并输出图示的杨辉三角。
VB程序改错题程序改错1.题目:已知C的公式表示如下:'n!'C=------------------'(n-m)!某m!'函数过程fac()求k!函数,在Fomr_Click事件中完成运算,'请修正程序中错误。
'------------------------------------------------OptionE某plicitPrivateFunctionfac(kAInteger)ASingleDim某ASingle,jAInteger 某=0Forj=1Tok某=某^jNe某tjfac=某EndFunctionPrivateSubForm_Click()DimCASingleDimmAInteger,nAIntegerm=Val(InputBo某(\请输入一个整数(m):\n=Val(InputBo某(\请输入一个整数(n):\C=fac(n)/fac(n-m)某fac(m)Print\EndSub2.题目:程序功能为打印下列图形:'某'某某'某某某'某某某某'某某某某某'------------------------------------------------OptionE某plicitPrivateSubForm_Click()ClDimiAIntegerDimjAIntegerFori=1To7Forj=1To5Print\LoopPrintNe某tiEndSub3.题目:本程序的功能是随机产生的10个两位正整数,并进行递减排序。
'------------------------------------------------OptionE某plicitPrivateSubCreateRND()DimTempAIntegerDimIAIntegerDimNAIntegerDim某(10)AIntegerDimJAIntegerN=10Print\数据:\ForI=1ToN某(I)=Int(Rnd()某90)Print某(I);Ne某tIPrintPrint\排序:\ForI=0ToN-1ForJ=I+1ToNIf某(I)>某(J)ThenTemp=某(I)某(J)=某(I)某(I)=TempEndIfNe某tJPrint某(I);Ne某tIPrintEndSub4.题目:随机产生并输出100以内大于50的20个整数,输出时每5个数一行。
属性设置:将Timer1的interVal属性设置为:10000,Timer2的interVal属性设置为:1000Timer1_Timerelse*原语句Label1.Visible=False改为Label1.Visible=TrueTimer2_Timer*原语句Label2.Caption = Timer()改为 Label2.Caption = Time()填空Tk248.Frm( 1 ) Val(m) ( 2 ) m Mod n改错Gc315.Frm属性设置:将Timer1的interVal属性设置为:0C1_Click*原语句Timer1.Enabled = False 改为 Timer1.InterVal=100Timer1_Timer*原语句If P1.Top > P2.Top + P2.Left Then 改为 If P1.Top > P2.Top + P2.Height Then填空Tk315.Frm( 1 ) Finish ( 2 ) <改错Gc316.Frm属性设置:将File1的Pattern属性设置为:*.bmp,将Image1的Stretch属性设置为:TrueDir1_Change*原语句 File1.Path = Dir1.Drive 改为 File1.Path = Dir1.PathFile1_Click*原语句 Image1.Picture = fname 改为 Image1.Picture = LoadPicture(fname)填空Tk316.Frm( 1 ) a(j - 1) + a(j) ( 2 ) Picture1.Print改错Gc317.Frm属性设置:将Timer1的InterVal属性设置为:100,将Label1的Caption属性设置为:上机测试Command2_Click*原语句 Timer1.Timer 改为 Timer1_TimerTimer1_Timer*原语句 ElseIf Label1.Left > 0 Then 改为 ElseIf Label1.Left < 0 Then填空Tk317.Frm( 1 ) Len(Text1.Text) ( 2 ) a(j) + 1改错Gc318.Frm属性设置:将Hscroll1的Max、Min属性分别设置为:20、10Command1_Click*原语句RGB(Text1.Text, Text2.Text, Text3.Text) 改为RGB(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text))HScroll1_Change()*原语句Label1.FontSize = HScroll1 改为 Label1.FontSize = HScroll1.Value填空Tk318.Frm( 1 ) i = 1 To 9 ( 2 ) Data(i) > Data(j)改错Gc319.Frm属性设置:将Form1的WindowState属性设置为:2,Command1的Caption 属性设置为:开始计算Command1_Click*原语句If j > 10 Then Exit Do 改为 If j = 10 Then Exit Do*原语句i = i - 1 改为 i = i + 1填空Tk319.Frm( 1 ) 5 ( 2 ) i属性设置:将Option3的Caption属性设置为: *,将Option3的ToolTipText属性设置为:乘法Option1_Click*原语句Text3.Text = Text1.Text + Text2.Text 改为Text3.Text = val(Text1.Text) + Val(Text2.Text) Option3_Click*原语句Text3.Text = Integer(Text1.Text * Text2.Text) 改为Text3.Text = Int (Text1.Text * Text2.Text)填空Tk320.Frm( 1 ) b ^ 2 - 4 * a * c ( 2 )ElseIf d = 0改错Gc334.Frm属性设置:将Text1的Text属性设置为:空值,将Command1的Caotion属性设置为:增加List1_Click*原语句List2.AddItem List1.ListIndex 改为List2.AddItem List1.TextList2_Click*原语句List2.RemoveItem List2.List(List2.ListIndex) 改为List2.RemoveItem List2.ListIndex填空Tk334.Frm( 1 ) s(Max) < s(j) ( 2 )s(n) = Text1.Text改错Gc335.Frm属性设置:将Timer1的InterVal属性设置为:1000,将窗体的Caotion属性设置为:倒计时程序Timer1_Timer*原语句Text1.Text = Format(Now, "SS:HH:MM")改为Text1.Text = Format(Now, "HH:MM:SS")Timer2_Timer*原语句Timer1.Interval = 0 改为Timer1.Enabled = False填空Tk335.Frm( 1 )Num(i) = Int(Rnd * 91 + 10) ( 2 )IsPrime(Num(i))改错Gc372.FrmSub swap1过程*原语句swap1(x As Integer, y As Integer)改为swap1(ByVal x As Integer, ByVal y As Integer) Sub swap2过程*原语句t = m: n = m: n = t 改为t = m: m = n: n = t填空Tk372.Frm( 1 )fibo(i); ( 2 )fibo(n - 1) + fibo(n - 2)改错Gc373.FrmForm_Click*原语句Else下面的nCount = nCount + 1 改为nCount = 1*原语句第二个End If 改为 Next n填空Tk373.Frm( 1 )a1 ( 2 )ncount -1改错Gc402.FrmForm_Click*原语句For i = 1 To n 改为For i = 1 To n-1*原语句sum = 1 / kk 改为 sum = sum + 1 / kk填空Tk402.Frm( 1 )Rnd*201+300 ( 2 )s = s + a(i)改错Gc403.FrmCommand1_Click*原语句((a + c>b) And (b>0)) Or ((c + b>a) 改为((a + c>b) And (b > 0)) And ((c + b>a)*原语句Abs(s * (s - a) * (s - b) * (s - c)) 改为 Sqr(s * (s - a) * (s - b) * (s - c))填空Tk403.Frm( 1 ) ss = Str( i ) ( 2 )a^3 + b^3 + c^3 = i属性设置:将Label1的BorderStyle属性设置为:1,将时钟的InterVal属性设置为:500Command2_Click*原语句Timer1.Enabled = True 改为Timer1.Enabled = FalseTimer1_Timer*原语句Label1.Caption = Timer() 改为 Label1.Caption = Time()填空Tk457.Frm( 1 ) n - i ( 2 )i < n改错Gc458.FrmC1_Click*原语句If x > 100 And x < 0 Then 改为If x > 100 Or x < 0 Then*原语句Label3.Caption = "该生成绩" 改为 Label3.Caption = Strtemp填空Tk458.Frm( 1 ) S ( 2 )result改错Gc481.FrmForm_Click*原语句f(i) = f(i) + f(i - 1) 改为f(i) = f(i-2) + f(i - 1)*原语句If (i Mod 5) = 5 Then 改为 If (i Mod 5) = 0 Then填空Tk481.Frm属性设置:将Command1的Caption属性设置为:计算机,将窗体的Caption属性设置为:等级考试( 1 ) Form1.Caption ( 2 )temp改错Gc482.Frm属性设置:将Text1、Text2的Text属性设置为:空值;Command1、Command2的Caption属性分别设置为:华氏转摄氏、摄氏转华氏Command1_Click*原语句F = Text1.Value 改为F = Text1.TextCommand2_Click*原语句C = Text2.Value 改为 C = Text2.Text填空Tk482.Frm( 1 ) i ( 2 )0改错Gc509.Frm属性设置:Command1、Command2的Caption属性分别设置为:计算&S、结束&XCommand1_Click*原语句If Text1.Text = "" Then 改为If Text1.Text <> "" ThenCommand2_Click*原语句Exit 改为 End填空Tk509.Frm( 1 ) 100 ( 2 )True改错Gc510.Frm属性设置:Command1、Command2的Caption属性分别设置为:计算&S、结束&XCommand1_Click*原语句If Text1.Text = "" Then 改为If Text1.Text <> "" ThenCommand2_Click*原语句Exit 改为 End填空Tk510.Frm( 1 ) b^2 – 4 * a * c ( 2 )Sqr(abs(d))属性设置:Command1、Command2的Caption属性分别设置为:定义坐标系统&S、绘正弦曲线&X Command1_Click*原语句Form1.Scale (-8, 2)+(8, -2) 改为Form1.Scale (-8, 2)-(8, -2)Command2_Click*原语句x = 1: y = Sin(i) 改为 x = i: y = Sin(i)填空Tk535.Frm( 1 ) num Mod 6 = 2 And num Mod 5 = 3 ( 2 )Text1.SetFocus改错Gc536.FrmForm_Click*原语句arr(i) = 20 + 80 * Rnd(-1) 改为arr(i) = 20 + 80 * Rnd(1)*原语句s = s + arr(1) 改为 s = s + arr(i)填空Tk536.Frm( 1 ) a ^ 2 + b ^ 2 = c ^ 2 ( 2 )Text1.Text = n改错Gc561.FrmForm_Click*原语句sum = 0 改为sum = 1*原语句sum = 1 / kk 改为 sum = sum + kk填空Tk561.Frm( 1 ) rnd * 201 + 100 ( 2 )s + a(i)改错Gc562.Frm属性设置:Command1、Command2的Caption属性分别设置为:运行、清理Command1_Click*原语句List1.List i & "=" & Sqr(i) & "^2" 改为List1.AddItem Sqr(i) & "^2" Command2_Click*原语句Text1.Focus 改为 Text1.SetFocus填空Tk562.Frm( 1 ) P(I) + P(J) + P(K) = N ( 2 )Idx = Idx + 1改错Gc587.Frm属性设置:Command1的Caption属性设为:开始计数;Timer1的Interval属性设为:1000C1_Click*原语句 Timer1.Enabled = True 改为 T1.Enabled = TrueT1_Click*原语句Text1.Text = Text1.Text + 10 改为 Text1.Text = Text1.Text + 1填空Tk587.Frm( 1 ) 32 ( 2 )String(1, Asc(b) + n)改错Gc588.FrmCommand1_Click*原语句 Item = 0 改为 Item = 1*原语句 Sum = Sum + Item 改为 Sum = Sum + I/Item填空Tk588.Frm( 1 ) End ( 2 )Text1.Text = ""改错Gc613.Frm属性设置:Form1的Caption属性设为:个人爱好;Command11的Caption属性设为:显示Command1_Click*原语句 If Check2.Value = 0 改为 If Check2.Value = 1Command2_Click*原语句 Then s = Check3.Caption 改为 Then s = s + Check3.Caption填空Tk613.Frm( 1 ) x >= 0 ( 2 )x < aminCommand1_Click*原语句 n = 1 改为 n = 0*原语句Text1 = s 改为 Text1 = n填空Tk614.Frm( 1 ) i+1 ( 2 ) s改错Gc639.Frm属性设置:Forma1的Caption属性设为“书籍采购计划”,Command1、Command2的Nmame属性设为:cmdAdd 和cmdDeleteCommAdd_Click*原语句 lstBook.AddItem = txtBook.Text 改为 lstBook.AddItem txtBook.TextCmdDelete_Click*原语句If lstBook.ListIndex = -1 Then 改为 If lstBook.ListIndex > -1 Then填空Tk639.Frm( 1 ) Rnd * 4 + 1 ( 2 )"S(" & I & ")=" & S(I)改错Gc640.FrmCommand1_Click*原语句 s = s + i 改为 s = s + i^2或 s = s + i*iCommand2_Click*原语句Release Me 改为 Unload Me填空Tk640.Frm( 1 ) f * i ( 2 ) Unload改错Gc666.Frm属性设置:Form1的Caption属性设为:加法器;Label1的Caption属性设为:+Command1_Click*原语句 Timer1.Enabled = True 改为 T1.Enabled = TrueCommand2_Click*原语句Text3 = Text1 + Text2 改为 Text3 = Val(Text1) + Text2填空Tk666.Frm( 1 ) i \ 100 ( 2 )i - hundred * 100 - ten * 10改错Gc667.FrmCommand1_Click*原语句 m = 1 改为 m = 0*原语句n = n + m 改为 n = n + 1填空Tk667.Frm( 1 ) P * j ( 2 )S + P改错Gc692.Frm属性设置:Form1的Caption属性设为:字幕滚动;Command11的Caption属性设为:手动Command1_Click*原语句 Form1.Timer1.Enabled = True 改为 Form1.Timer1.Enabled = FalseCommand2_Click*原语句Else下面的 Form1.Timer1.Enabled = False 改为 Form1.Timer1.Enabled = True填空Tk692.Frm( 1 ) TOTAL = 0 ( 2 )Sqr(L * (L - A) * (L - B) * (L - C))改错Gc693.FrmCommand1_Click*原语句sum = sum + 1 / item 改为 sum = sum + i / item*原语句Text1.Text1 = Str(sum) 改为 Text1.Text = Str(sum)填空Tk693.Frm( 1 ) a(i) ( 2 )i = 5 To 1 Step -1属性设置:Form1的Caption属性设为:字幕放大;Timer1的InterVal属性设为:200 Command1_Click*原语句 Timer1.Enabled = False 改为Timer1.Enabled = True*原语句 Timer1.Enabled = True 改为Timer1.Enabled = False填空Tk728.Frm( 1 ) n + 1 ( 2 )n - 1改错Gc729.FrmCommand1_Click*原语句item = item + j 改为 item = item * j*原语句sum = item 改为 sum = sum + item填空Tk729.Frm( 1 ) For i=0 to 1000 step 2 ( 2 ) Str(sum)改错Gc756.Frm属性设置:Command1的Name、Caption、Left和Top属性分别设为:cmd1、移动、0、0 Command1_Click*原语句cmd1.Left = Left + 100 改为 cmd1.Left = cmd1.Left + 100*原语句Top = cmd1.Top + 100 改为 cmd1.Top = cmd1.Top + 100填空Tk56.Frm( 1 ) Val(Txt1.Text) ( 2 ) num * rmb改错Gc757.Frm属性设置:Command1_Click*原语句Item = 0 改为 Item = 1*原语句 Sum = Sum + Item 改为 Sum = Sum + 1 / Item填空Tk757.Frm( 1 ) b^2 – 4 * a * c ( 2 ) b / (2 * a)改错Gc784.Frm属性设置:Command1的Name、Caption属性分别设置为Cmd1、开始计时Private Sub Form_Load()*原语句 Timer1.Interval = 100 改为 Timer1.Interval = 1000Private Sub Timer1_Timer()*原语句 Label2(0).Caption = Timer1 改为 Label2(0).Caption = Time填空Tk784.Frm( 1 ) x ( 2 )Form1.Text1.ForeColor改错Gc785.FrmCommand1_Click*原语句Item = 0 改为 Item = 1*原语句 Sum = Sum + Item 改为 Sum = Sum + i / Item填空Tk785.Frm( 1 ) s + i^2 ( 2 ) End。
【程序改错】'题目:该程序的功能是求出100到200之间的全部素数,并且按每行4个、每个数据之间有10个空格的格式输出。
'注意:不可增加或删除程序行,也不可以更改程序结构' Private Sub Form_Click()dim k as integer,i as integer,j as integerk = 0For i = 100 To 200'**********FOUND**********For j = 1 To i - 1If i Mod j = 0 Then Exit ForNext jIf j = i Then'**********FOUND**********Print i; Tab(10);k = k + 1'**********FOUND**********If k Mod 5 = 0 Then Print;End IfNext iEnd Sub答案:1). For j = 2 To i - 1 或For j = 2 To -1 + i2). Print i; Space(10);3). If k Mod 4 = 0 Then Print━━━━━━━━━━━━━━━━'【程序设计】' '题目:(事件)单击窗体。
(响应)求100以内偶数的和,并将结果输出在窗体上。
将结果存入变量SUM中答案:26__________________________________Dim i As IntegerFor i = 1 To 100If i Mod 2 = 0 Thensum = sum + iEnd IfNextPrint sum'【程序改错】'------------------------------------------------'题目:在下面的程序段中过程pd可以判断任意三个数能' 否构成三角形的三边,利用该过程的判定结果,对能构成三角形的计算其面积,构不成的显示"不能构成三角形Option ExplicitPrivate Sub Form_Click()'**********FOUND**********Dim x%, y%, z%, s%, b As Boolean,h as Singlex = InputBox("请输入三角形的边长")y = InputBox("请输入三角形的边长")z = InputBox("请输入三角形的边长")= InputBox("请输入三角形的边长")b = pd(x, y, z)h = (x + y + z) / 2'**********FOUND**********If not b Thens = Sqr(h * (h - x) * (h - y) * (h - z))Print "三角形面积是"; sElsePrint "不能构成三角形"End IfEnd Sub'**********FOUND**********Public Function pd( ) As BooleanIf x > 0 And y > 0 And z > 0 And x + y > 0 And x + z > y And y + z > x Thenpd = TrueElsepd = FalseEnd IfEnd Function答案:1). Dim ★x%★, ★y%★,★z%★, ★s!★, ★b★As Boolean★, ★h As Single2). If b Then3). Public Function pd(x%, y%, z%) As Boolean━━━━━━━━━━━━━━━━三、程序设计共1题(共计15分)'题目:(事件)双击窗体。
程序改错1 题目:求s=2!+4!+6!+8!,阶乘的计算用Function过程fact实现。
程序代码:Private Sub Form_Click()Dim i as integer, s as longFor i = 2 to 8 →For i = 2 to 8 step 2s = s + fact(i)Next iPrint sEnd SubPublic Function fact( ) →Public Function fact(Byval n%)Dim t as longDim i as integert = 1For i = 1 to nt = t * iNext iFact = i →Fact = tEnd function2 题目:请根据下列描述编写购物优惠程序。
某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾客一次购物(1)在100元以上者,按九五折优惠;(2)在200元以上者,按九折优惠;(3)在300元以上者,按八折优惠;(4)在500元以上者,按七折优惠。
在窗体上添加两个文本框和一个命令按钮,要求在Text1中输入购物商品总金额,单击命令按钮,在Text2中输出优惠价。
程序代码:Private Sub Command1_Click ()Dim x As Integer, y As Singlex = Val(Text1.Text)If x < 100 thenx = y →y=xElseIf x < 200 theny = 0.95 * xElseIf x < 300 theny = 0.9 * xElseIf x < 300 theny = 0.8 * xElsey = 0.7 * xElse If →End IfEnd IfEnd IfEnd IfText2.text = x →Text2.text = yEnd Sub3 题目:创建一个绘图程序。
改错〖第1题〗『程序改错』(5分)(题号:132)'------------------------------------------------'【程序改错】'------------------------------------------------'题目:求s=2!+4!+6!+8!,阶乘的计算用Function过程' fact实现'------------------------------------------------'注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------Private Sub Form_Click()dim i as integer,s as Long'**********FOUND**********For i = 2 To 8s = s + fact(i)Next iPrint sEnd Sub'**********FOUND**********Public Function fact( )dim t as Longdim i as integert = 1For i = 1 To nt = t * iNext I'**********FOUND**********fact=iEnd Function答案:1)、For i = 2 To 8 Step 22)、Public Function fact(ByVal n As Integer) 或Public Function fact(n As Integer) 或Public Function fact(n%) 或Public Function fact(n) 或Public Function fact(ByVal n%) 或Public Function fact(ByVal n)3)、fact = t〖第1题〗『程序改错』(5分)(题号:132)'------------------------------------------------'【程序改错】'------------------------------------------------'题目:求s=2!+4!+6!+8!,阶乘的计算用Function过程' fact实现'------------------------------------------------'注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------Private Sub Form_Click()dim i as integer,s as Long'**********FOUND**********For i = 2 To 8s = s + fact(i)Next iPrint sEnd Sub'**********FOUND**********Public Function fact( )dim t as Longdim i as integert = 1For i = 1 To nt = t * iNext I'**********FOUND**********fact=iEnd Function答案:1)、For i = 2 To 8 Step 22)、Public Function fact(ByVal n As Integer) 或Public Function fact(n As Integer) 或Public Function fact(n%) 或Public Function fact(n) 或Public Function fact(ByVal n%) 或Public Function fact(ByVal n)3)、fact = t〖第1题〗『程序改错』(5分)(题号:493)'------------------------------------------------'【程序改错】'------------------------------------------------'题目:给定年号与月份,判断该年就是否闰年,并根据给出的' 月份来判断就是什么季节与该月有多少天?' (闰年的条件就是:年号能被4整除但不能被100整除,' 或者能被400整除。
改错[(第1题》『程序改错」(5分)(题号:132)【程序改错】'题目:求s二2!+4X6!+8!,阶乘的计算用Function过程'fact实现'注意:不可增加或删除程序行,也不可以更改程序结构J _____________________ ___ _____________________________ _ ___________________________________ Private Sub Form_Click()dim i as integer,s as Long'**********F0UND**********For i = 2 To 8s = s + fact (i)Next iPrint sEnd Sub'**********F0UND**********Public Function fact()dim t as Longdim i as integert = 1For i = 1 To nt = t * iNext I'**********F0UND**********fact=iEnd Function答案:1). For i = 2 To 8 Step 22). Public Function fact(ByVai n As Integer) 或Public Function Integer) 或Public Function fact(n%) 或Public Function fact(n) Function fact(ByVai n%) 或Public Function fact(ByVai n)3). fact = tK第1题》『程序改错」(5分)(题号:132)【程序改错】'题目:求s二2!+4!+6!+8!,阶乘的计算用Function 11程'fact实现'注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Form_Click() fact(n As 或Publicdim i as integer, s as Long'**********F0UND**********For i = 2 To 8s = s + fact (i)Next iPrint sEnd Sub':fc*********F0UND**********Public Function fact()dim t as Longdim i as integert = 1For i = 1 To nt = t * iNext I'**********F0UND**********fact=iEnd Function答案:1). For i = 2 To 8 Step 22). Public Function fact(ByVai n As Integer) 或Public Function fact(n As Integer) 或Public Function fact(n%) 或Public Function fact(n) 或Public Function fact(ByVai n%) 或Public Function fact(ByVai n)3). fact = tK第1题》『程序改错」(5分)(题号:493)【程序改错】'题目:给左年号与月份,判断该年是否闰年,并根据给出的 '月份来判断是什么季节和该月有多少天'(闰年的条件是:年号能被4整除但不能被100整除,'或者能被400整除°) '注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Form_Click()Dim Year As Integer, Month As IntegerYear = InputBox(/z输入年号:")Month = InputBox(/z输入月份:“)'**********F0UND**********If Year Mod 4 = 0 And Year Mod 100 <> 0 And Year Mod 400 <> 0 Then'**********FO UND**********flag = 0MsgBox "闰年"Elseflag = 0MsgBox "非闰年"End If'**********FO UND**********Select Case flagCase 1MsgBox "该月有31天,春季"Case 2If flag 二1 Then MsgBox "该月有29 天,春季"Else MsgBox 〃该月有28 天,春季"Case 3MsgBox "该月有31天,春季"Case 4MsgBox "该月有30天,夏季"Case 5MsgBox "该月有31天,夏季"Case 6MsgBox "该月有30天,夏季"Case 7MsgBox该月有31天,秋季"Case 8MsgBox "该月有31天,秋季"Case 9MsgBox "该月有30天,秋季"Case 10MsgBox "该月有31天,冬季"Case 11MsgBox "该月有30天,冬季"Case 12MsgBox该月有31天,冬季"End SelectEnd Sub答案:1) . If Year Mod 4 = 0 And Year Mod 100 <> 0 Or Year Mod 400 = 0 Then 或If YearMod 400 = 0 Or Year Mod 4 = 0 And Year Mod 100 <> 0 Then2) . Flag = 13) . Select Case MonthK第2题』『程序改错」(5分)(题号:119)【程序改错】'题目:在下面的程序段中过程pd可以判断任意三个数能'否构成三角形的三边,利用该过程的判泄结果,'对能构成三角形的讣算其而积,构不成的显示"'不能构成三角形〃 '注意:不可增加或删除程序行,也不可以更改程序结构Option ExplicitPrivate Sub Form_Click()':fc*********FOUND**********Dim x%, y%, z%, s%, b As Boolean, h As SingleX = InputBox C请输入三角形的边长")y = InputBox C请输入三角形的边长")z = InputBox C请输入三角形的边长")b = pd(x, y, z)h = (x + y + z) / 2'客*********FOUND**********If Not b Thens = Sqr (h * (h - x) * (h - y) * (h - z))Print "三角形而积是";sElsePrint "不能构成三角形"End IfEnd Sub'**********FOUND**********Public Function pd() As BooleanIf x > 0 And y > 0 And z > 0 And x + y > z And x + z > y And y + z > x Then pd = TrueElsepd = FalseEnd IfEnd Function答案:1). Dim ★矗★,z%*, ! ★,As Boolean^, ★h As Single 或Dim ★x%^,★ z%*, as Singled,As Boolean*, As Single2). If b Then 或If b=true Then3). Public Function pd(x%, y%, z%) As Boolean 或Public Function pd(x, y, z) As Boolean 或Public Function pd(x as Integer, y as Integer, z as Integer) As Boolean K第3题]]『程序改错」(5分)(题号:134)【程序改错】'题目:程序功能根拯输入的学习成绩,分别显示优秀'(90分以上),良好(75分以上),及格(60分以上) ',不及格几个等级.'注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Formed ick()CisDim i As Integeri二InputBox C请输入学习成绩")Select Case I':fc*********FOUND**********Case 0<I<100MsgBox 〃成绩应该在0—100之间"'**********FOUND**********Case 90Print "优秀”Case 75 To 90Print ?,良好"Case 60 To 75Print "及格"'**********FOUND**********CaseMsgBox "不及格",vbCriticalEnd SelectEnd Sub答案:1). Case ★! > 100 ★or* i < 0 或Case ★100 < i★orik* i〈0 或Case ★! > 100 ★or* 0>i 或Case ★100 < i ★or* 0>i2). Case 90 To 1003). Case elseK第4题』『程序改错〕(5分)(题号:481)【程序改错】'题目:下而程序的功能是将一个整数转化为数值字符串, '列如123,转化为"+123",-123转化为“-123”'注意:不可增加或删除程序行,也不可以更改程序结构9 _____________________________ _________________________________________________________________________________Private Function NtoC(ByVai n As Single)Dim sign As Boolean, i%, a%, count%, temp%(100)Dim strc As Stringsign = False'**********F0UND**********If n < 0 Then sign = Falsen = Abs(n)Do Wh:ile n > 0'客*********F0UND**********a = n / 10n = n \ 10'**********FO UND**********count = 1temp(count) = aLoopIf sign Then strc = 〃- " Else strc =For i = count To 1 Step -1strc = strc + Chr(Asc("0") + temp(i))Next iNtoC = strcEnd FunctionPrivate Sub Commandl_Click()Print NtoC(-123)End Sub答案:1). If n 〈0 Then sign = True2). a = n Mod 103). count = count + 1 或count = 1 + count K第1题』『程序改错」(5分)(题号:132)【程序改错】'题目:求s=2!+4!+6!+8!,阶乘的计算用Function 程'fact实现'注意:不可增加或删除程序行,也不可以更改程序结构Private Sub Form_Click() dim i as integer, s as Long '**********F0UND********** For i = 2 To 8s = s + fact (i)Next iPrint sEnd Sub'**********F0UND********** Public Function fact() dim t as Longdim i as integert = 1For i = 1 To nt = t * iNext I'客*********FOUND**********fact=iEnd Function答案:1). For i = 2 To 8 Step 22). Public Function fact(ByVai n As Integer) 或Public Function fact(n AsInteger)或Public Function fact(n%) 或Public Function fact(n) 或Public Function fact(ByVai n%)或Public Function fact(ByVai n)3). feet = t。
1.'功能:以下程序段用于计算n的阶乘:n!。
(1!=1)2. 已知某城市一年的交通事故车辆报废情况,编程序计算该城市的交通事故一年损失金额。
3. 下面的程序用"冒泡"法将数组a中的10个整数按从小到大排列,请将程序补充完整。
4. '程序运行界面。
键盘输入3个数,将它们按由大到小的顺序输出,-1为结束标志。
5. '在窗体有三个复选框,名称分别为Ch1、Ch2和Ch3,标题依次为'"体育"、"音乐"、"美术",还有一个命令按钮,名称为C1,标题'为"显示"。
要求程序运行后,如果选中某个复选框,则当单击'"显示"命令按钮时,则显示相应的信息。
例如,如果选中"体育"'和"音乐"复选框,则单击"显示"命令按钮后,在窗体上显示'"我的爱好是体育音乐"(如图1所示);而如果选中"体育"、'"音乐"和"美术"复选框,则单击"显示"按钮后,在窗体上显示"'我的爱好是体育音乐美术"。
6. 窗体上建立了一个文本框Text1("输入口令")和一个命令按钮Command1("检查")。
' 判断密码是否正确,并显示相应提示在加载窗体时设置密码框最大长度为8,密码显示字符为“*”7. 下面的程序用于求三个数中最大数8. 要求输入若干学生的成绩,计算平均分和高于平均分的人数,并将这两个数据放入数组的最后。
9. 求A,B,C三个数的最大值。
10. 该程序通过For循环计算一个表达式的值,这个表达式是1/2+2/3+3/4+4/511. 用户单击命令按钮后,程序将文本框Text1中的文本反转显示,同时在文本框Text2中显示文本框Text1中字符串的个数12. 功能:单击“插入数据”按钮后,输入一个整型数据,该数据会被插入到一个有序的数组a(1 to 10)中,插入该数据后数组还是有序的。
第52题(1.0分)题号:450'------------------------------------------------'【程序改错】'------------------------------------------------'题目:统计一顺序文件text.txt中的空格、字母、数字和其它字符个数。
'------------------------------------------------Option ExplicitPrivate Sub Command1_Click()Dim s As String, C As StringDim I As Integer, L As Integer, spac As Integer, character As Integer, digit As Integer, other As Integer'**********FOUND**********Open App.Path & "\text.txt" For Output As #1'**********FOUND**********Do Until EOF(0)Line Input #1, sL = Len(s)For I = 1 To LC = Mid(s, I, 1)If C >= "a" And C <= "z" Or C >= "A" And C <= "Z" Thencharacter = character + 1ElseIf C = " " Thenspac = spac + 1'**********FOUND**********ElseIf C >= "0" And C < "9" Thendigit = digit + 1Elseother = other + 1End IfNext ILoopClose #1Print "字符个数为:"; character; "数字个数为:"; digitPrint "空格个数为:"; spac; "其它个数为:"; other End Sub答案:=======(答案1)=======Open App.Path & "\text.txt" For Input As #1=========或=========Open "text.txt" For Input As #1=======(答案2)=======Do Until EOF(1)=========或=========Do While Not EOF(1)=======(答案3)=======ElseIf C >= "0" And C <= "9" Then第57题(1.0分)题号:465'------------------------------------------------ '【程序改错】'------------------------------------------------'题目:用InputBox函数输入一个字符串,编写程序按与' 输入的字符相反的次序用Msgbox函数输出这个字' 符串。
如输入字符串为"abcdefgh",则输出为"h ' gfedcba",输出效果如图1。
'------------------------------------------------ Option ExplicitPrivate Sub Command1_Click()Dim pristr As String, outstr As StringDim i As Integerpristr = InputBox("please input a string")'**********FOUND**********For i = 0 To Len(pristr)'**********FOUND**********outstr = outstr + Mid(pristr, Len(pristr) - i) Next i'**********FOUND**********MsgBox outstr, , "The Output Result "End Sub答案:=======(答案1)=======For i = 0 To Len(pristr) - 1=========或=========For i = 0 To -1+Len(pristr)=======(答案2)=======outstr = outstr + Mid(pristr, Len(pristr) - i, 1)=========或=========outstr = Mid(pristr, Len(pristr) - i, 1)+outstr=======(答案3)=======MsgBox outstr, vbQuestion, "The Output Result "第59题(1.0分)题号:147'------------------------------------------------'【程序改错】'------------------------------------------------'题目:下面的程序用来产生并输出图示的杨辉三角。
' 1' 1 1' 1 2 1' 1 3 3 1' 1 4 6 4 1' 1 5 10 10 5 1'------------------------------------------------ Option Explicit Public Sub readin(a() As Integer, n As Integer) Dim i, j As IntegerFor i = 1 To n'**********FOUND**********a(i, n) = 1a(i, 1) = 1Next iFor i = 3 To n'**********FOUND**********For j = 2 To na(i, j) = a(i - 1, j) + a(i - 1, j - 1) Next jNext iEnd SubPublic Sub printf(a() As Integer, n As Integer) Dim i, j As IntegerFor i = 1 To n'**********FOUND**********For j = 1 To nPrint Tab(5 * j + 10); a(i, j);Next jPrintNext iPrintEnd SubPrivate Sub Form_Click()Dim x(10, 10) As IntegerCall readin(x(), 6)Call printf(x(), 6)End Sub答案:=======(答案1)=======a(i, i) = 1=======(答案2)=======For j = 2 To i - 1=========或=========For j = 2 To -1 + i=======(答案3)=======For j = 1 To i第60题(1.0分)题号:146'------------------------------------------------'【程序改错】'------------------------------------------------'题目:用辗转相除法求两个整数的最大公约数。
'------------------------------------------------Option ExplicitFunction gcd(ByVal m As Integer, ByVal n As Integer) As Integer Dim r As Integerr = m Mod nDo While r <> 0'**********FOUND**********n = mn = rr = m Mod nLoop'**********FOUND**********gcd = rEnd FunctionPrivate Sub Form_Click()Dim a As Integer, b As Integer, c As Integera = InputBox("输入一个整数")b = InputBox("输入一个整数") a = Val(a)b = Val(b)'**********FOUND**********Call gcd(a, b)Print a, b, cEnd Sub答案:=======(答案1)=======m = n=======(答案2)=======gcd = n=======(答案3)=======c = gcd(a, b)第66题(1.0分)题号:467'------------------------------------------------'【程序改错】'------------------------------------------------'题目:从计算机输入三个数 , 找出中间数'------------------------------------------------Option ExplicitPrivate Sub FindMidNum()Dim x As Integer, y As Integer, z As Integer, A As Integer x = InputBox("PLEASE INPUT THE FIRST NUMBER")y = InputBox("PLEASE INPUT THE SECOND NUMBER")z = InputBox("PLESSE INPUT THE THIRD NUMBER")'**********FOUND**********If x > y ThenA = xx = yy = AEnd If'**********FOUND********** If y = z ThenPrint y'**********FOUND********** ElseIf x = z ThenPrint zElsePrint xEnd IfEnd SubPrivate Sub Form_Click()FindMidNumEnd Sub答案:=======(答案1)=======If x < y Then=========或=========If y > x Then=======(答案2)=======If y >= z Then=========或=========If z <= y Then=======(答案3)=======ElseIf x >= z Then=========或=========ElseIf z <= x Then 第70题(1.0分)题号:142'------------------------------------------------ '【程序改错】'------------------------------------------------'题目:程序功能根据输入的学习成绩,分别显示优秀' (90分以上), 良好(75分以上),及格(60分以上) ' 不及格四个等级.'------------------------------------------------ Option ExplicitPrivate Sub Form_Click()ClsDim i As Integeri = InputBox("请输入学习成绩")Select Case i'**********FOUND**********Case 0 < i < 100MsgBox "成绩应该在0--100之间"""'**********FOUND**********Case 90Print "优秀"Case 75 To 89Print "良好"Case 60 To 74Print "及格"'**********FOUND**********CaseMsgBox "不及格", vbCriticalEnd SelectEnd Sub答案:=======(答案1)=======Case is>100 ,is<0=========或=========case is<0 ,is>100=======(答案2)=======Case 90 to 100=======(答案3)=======Case else第71题(1.0分)题号:473'------------------------------------------------'【程序改错】'------------------------------------------------'题目:下列程序进行-n阶乘运算,当阶乘的值超过-21147483648 溢出报错,并将结果输出为-1。