改错题 【要求】 1)打开“T盘”中“P2vbp”文件,按参考界面形式编辑窗体界面,改正程序中的错误后,直接保存所有文件; 2)改错时,不得增加或删除语句,但可适当调整语句位置。 【题目】本程序的功能是生成由n(n通过InputBox函数输入)个3位升序

admin2019-04-04  67

问题 改错题
【要求】
1)打开“T盘”中“P2vbp”文件,按参考界面形式编辑窗体界面,改正程序中的错误后,直接保存所有文件;
2)改错时,不得增加或删除语句,但可适当调整语句位置。
【题目】本程序的功能是生成由n(n通过InputBox函数输入)个3位升序数构成的随机数组。所谓升序数是指从高位到低位数字值依次增加的整数。

OptionExplicit
OptionBase1
PrivateSubCommand1_Click()
DimnAsInteger,a()        AsInteger,kAsInteger,pAsIntegern=InputBox("输入数据个数:","升序数数组",10)ReDima(n)
Do
p=Int(Rnd900)Ifjudge(p)Then
k=k+1a(k)=p
Text1.Text=Text1.Text&Str(a(k))
IfkMod5=0ThenText1.Text=Text1.Text&vbCrLfEndIf
LoopUntilk>nEndSub

PrivateFunctionjudge(nAsInteger)AsBooleanDimiAsInteger,a(3)AsInteger
Fori=3To1Step-1a(i)=nMod10n=n\10
Nexti
Fori=1To2
Ifa(i)>=a(i+1)ThenExitForNexti
judge=TrueEndFunction

选项

答案OptionExplicitOptionBase1 PrivateSubCommand1_Click() DimnAsInteger,a() AsInteger,kAsInteger,pAsIntegern=InputBox("输入数据个数:","升序数数组",10)ReDima(n) Do p=Int(Rnd900) +100 ’errp=Int(Rnd900)Ifjudge(p) Then k=k+1a(k)=p Text1.Text=Text1.Text&Str(a(k)) IfkMod5=0ThenText1.Text=Text1.Text&vbCrLfEndIf LoopUntilk=n ’errUntilerrk>nEndSub PrivateFunctionjudge(ByValn AsInteger)AsBoolean ’err无ByValDimiAsInteger,a(3) AsInteger Fori=3To1Step-1a(i)=nMod10n=n\10 Nexti Fori=1To2 Ifa(i) >=a(i+1) ThenExitFunction ’errExitForNexti judge=TrueEndFunction [*]

解析
转载请注明原文地址:https://kaotiyun.com/show/IIhZ777K
0

最新回复(0)