问答题 改错题(14分) 【题目】 本程序的功能是:找出100~999之间的回文数,且其对应的8进制数也是回文数的整数。所谓回文数,是指正读与倒读都相同的数。 1 Option Explicit 2 Private Sub Command1_Click() 3 Dim i As Integer,m As Integer 4 For i=100 To 999 5 m=d2Q(i) 6 If m And Reverse(i)Then 7 List1.AddItem CStr(i) 8 List2.AddItem CStr(m) 9 End If 10 Next i 11 End Sub 12 Private Function d2Q(n As Integer)As String 13 Dim P As Integer 14 Do 15 P=n Mod 8 16 d2Q=CStr(p) & d2Q 17 n=n/8 18 Loop Until n=0 19 End Function 20 Private Function Reverse(n As Integer)As Boolean 21 Dim i As Integer,s As String 22 s=CStr(n) 23 For i=1 To Len(s)/2 24 If Mid(S,i,1)<>Mid(S,Len(s)-i+1,1) Then Exit For 25 Next i 26 Reverse=True 27 End Function 【要求】 1.新建工程,按参考界面形式创建窗体,再从T盘根目录下的err.txt文件中将有错误的程序代码复制到代码编辑器窗口中或自行输入上述代码,改正程序中的错误。 2.改错时,不得增加或删除语句,但可适当调整语句位置。 3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。
【正确答案】 第6行 If m And Reverse(i) Then 改为Reverse(m) 第12行 Private Function d2Q(n As Integer)As String 改为ByVal n 第24行 Exit For 改为Function
【答案解析】