资源描述:
《VB新的上机等级考试程序调试题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数组中删除一个指定的数据OptionexplicitPublicSubDel()'该过程从一个含有10个数组元素的数组中删除一个指定的数据,若该数据不存在,则给出提示。'先产生10个[1,100]的随机整数'从键盘上输入一个数,将该数从数组中删除RandomizeDimxAsIntegerDima()AsIntegerDimiAsInteger,posAsIntegerReDima(10)AsIntegerFori=1To10a(i)=Int(Rnd*100)+1NextiForm1.Print"原始数据
2、:"Fori=1To10Form1.Printa(i);"";NextiForm1.Printx=Val(InputBox("输入删除的数x="))pos=0Fori=1To10Ifx=a(i)Then------1-----‘pos=iExitForEndIfNextiIfpos<>0ThenFori=-----2------To9‘pos-------3-------‘a(i)=a(I+1)NextiReDimPreservea(9)'保留原数组中的9个数Form1.Print"删除后数据:"Fori
3、=1To9Form1.Printa(i);"";NextiForm1.PrintElseMsgBox"数组中未找到"&Str(x)&",删除不成功"EndIfEndSub数组的移动PublicSubp(a%())'该过程是用于整理数组a,使其中小于零的元素移到数组的前端,'大于零的元素移到数组的后端,等于零的元素留在数组的中间。Dimi%,low%,high%,t%low=0i=0high=UBound(a)-1doWhile----1----Ifa(i)<0Thent=a(i)a(i)=a(low)a(
4、low)=t----2----i=i+1ElseIfa(i)>0Thent=a(i)a(i)=a(high)a(high)=t-----3-----Else----4----EndIfLoopEndSub参考答案:PublicSubp(a%())'该过程是用于整理数组a,使其中小于零的元素移到数组的前端,'大于零的元素移到数组的后端,等于零的元素留在数组的中间。Dimi%,low%,high%,t%low=0i=0high=UBound(a)-1DoWhilei<=highIfa(i)<0Thent=a(
5、i)a(i)=a(low)a(low)=tlow=low+1i=I+1ElseIfa(i)>0Thent=a(i)a(i)=a(high)a(high)=thigh=high-1Elsei=i+1EndIfLoopEndSubPrivateSubForm_Click()Dima(4)AsIntegerFori=0To3a(i)=InputBox("")Printa(i);NextiCallp(a)PrintFori=0To3Printa(i);NextiEndSub匹配的次数OptionExplicitP
6、ublicSubfindstr()'该过程通过调用matchCount函数计算子串s2在母串s1中匹配的次数Dims1AsString,s2AsStrings1="itisadog,butitisnotagooddog!"'母串s2="dog"'子串Form1.Print----1----‘matchCount(s1,s2)EndSubFunctionmatchCount(str1AsString,str2AsString)AsInteger'本函数计算子串str2在母串str1中的匹配次数DimnumA
7、sInteger,iAsInteger,posAsIntegernum=0Fori=1To----2----'从第1个字符开始循环找‘Len(str1)pos=----3----‘InStr(Right(str1,Len(str1)-i+1),str2)Ifpos>0Then'找到了指定的字符串num=num+1'次数加1----4----'继续向前找‘i=i+pos-1ElseExitFor'没找到,退出EndIfNextimatchCount=numEndFunction字符数组移动m个位置Publi
8、cSubMoveStr(a$(),m%,TagAsBoolean)'该过程是把字符数组移动m个位置,当Tag为True左移,则前m个字符移到字符数组尾。Dimi%,j%,t$DimcIfTagThenFori=1Tomc=a(0)forj=0to----1----a(j)=a(j+1)Nextj-----2-----NextiElseFori=1Tom------3------forj=Ubound(A)-----4-----