[问答题] 改错题(14分)【题目】本程序的功能是生成由n(n通过InputBox函数输入)个3位升序数构成的随机数组,所谓升序数是指从高位到低位数字值依次增加的整数(本程序界面由1个TextBox和

11 查阅

[问答题] 改错题(14分)【题目】本程序的功能是生成由n(n通过InputBox函数输入)个3位升序数构成的随机数组,所谓升序数是指从高位到低位数字值依次增加的整数(本程序界面由1个TextBox和1个CommandButton组成,所有对象均采用缺省名)Option ExplicitOption Base 1Private Sub Command1_Click() Dim n as long, a() As Integer, k as Integer, p as Integer n=InputBox(“输入数据个数;”,”升序数数组”,10) Redim a(n) Do p= Int(Rnd*900)+101 If judge(p) Then k=k+1 a(k)=p Text1.text=Text1.text & Str(a(k)) If K Mod 5=0 Then Text1.text = Text1.text & vbcrlf End If Loop Until k>nEnd Sub public Function judge(n as integer) As Boolean Dim i as integer, a(3) as integer For i=3 To 1 Step -1 a(i)= n Mod 10 n=n10 Next i For i=1 to 2If a(i)>=a(i+1) Then Exit For Next i judge=TrueEnd Function1.新建工程,按参考界面形式创建窗体,再从T盘根目录下的err.txt文件中将有错误的程序代码复制到代码编辑器窗口中或自行输入上述代码,改正程序中的错误。2.改错时,不得增加或删除语句,但可适当调整语句的位置。3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。

参考答案:

第15行 Loop Until k>n 改为 k=n第17行 Private Function judge(n as integer) As Boolean 改为 Byval n第24行 If a(i)>=a(i+1) Then Exit Function 改为Exit Function

计算机考试