VB程序改错40题1
Integer Dim r As Integer r = m Mod n Do While r <> 0 '**********FOUND********** n = m n = r r = m Mod n Loop '**********FOUND********** gcd = r End Function Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer a = InputBox("输入一个整数") b = InputBox("输入一个整数") a = Val(a) b = Val(b) '**********FOUND********** Call gcdd 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 Explicit Private Sub Form_Click() Cls Dim i As Integer i = InputBox("请输入学习成绩") Select Case i '**********FOUND********** Case 0 < i < 100 MsgBox "成绩应该在0--100之间""" '**********FOUND********** Case 90 Print "优秀" Case 75 To 89 Print "良好"
第57题 (1.0分) 题号:465 '-----------------------------------------------'【程序改错】 '-----------------------------------------------'题目:用InputBox函数输入一个字符串,编写程序按与 ' 输入的字符相反的次序用Msgbox函数输出这个字 ' 符串。如输入字符串为"abcdefgh",则输出为"h ' gfedcba",输出效果如图1。 '-----------------------------------------------Option Explicit Private Sub Command1_Click() Dim pristr As String, outstr As String Dim i As Integer pristr = 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
Case 60 To 74 Print "及格" '**********FOUND********** Case MsgBox "不及格", vbCritical End Select End 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。 '-----------------------------------------------Option Explicit '**********FOUND********** Private Function jc(ByVal n As Integer) As Integer Dim I As Integer Dim result As Long result = 1 I = 1 Do While I <= n
'-----------------------------------------------'题目:从计算机输入三个数 , 找出中间数 '-----------------------------------------------Option Explicit Private 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 Then A = x x = y y = A End If '**********FOUND********** If y = z Then Print y '**********FOUND********** ElseIf x = z Then Print z Else Print x End If End Sub Private Sub Form_Click() FindMidNum End Sub
答案: =======(答案1)======= m = n =======(答案2)======= gcd = n =======(答案3)======= c = gcd(a, b) 第65题 (1.0分) 题号:492
'-----------------------------------------------'【程序改错】 '-----------------------------------------------'题目:输入两个正整数m和n,求其最大公约数。 '-----------------------------------------------Option Explicit Private Sub Form_Click() Dim m As Integer, n As Integer, r As Integer m = InputBox("输入m的值:") n = InputBox("输入n的值:") Do While n <> 0 '**********FOUND********** r = m / n m = n '**********FOUND********** n = m Loop '**********FOUND********** Print "两数的最大公因子为:"; n End Sub 答案: =======(答案1)======= r = m Mod n =======(答案2)======= n = r =======(答案3)======= Print "两数的最大公因子为:"; m 第66题 (1.0分) 题号:467 '-----------------------------------------------'【程序改错】
=======(答案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 Integer For i = 1 To n '**********FOUND********** a(i, n) = 1 a(i, 1) = 1 Next i For i = 3 To n '**********FOUND********** For j = 2 To n a(i, j) = a(i - 1, j) + a(i - 1, j - 1) Next j Next i End Sub Public Sub printf(a() As Integer, n As Integer) Dim i, j As Integer For i = 1 To n '**********FOUND**********