您好,欢迎访问三七文档
江苏试题-数组分析9.本程序从键盘读入n个整数X1,X2,…,Xn,若这些整数满足如下条件之一:(1)X1X2…Xn;(2)X1X2…Xj且XjXj+1Xj+2…Xn,其中1jn;(3)X1X2…Xn.则输出“符合条件!”,否则,输出“不符合条件!”。PrivateSubFormClick()Dima()AsIntegerDimiAsInteger,jAsInteger,nAsIntegern=InputBox(输入数据个数)(ReDima(n))Fori=1Tona(i)=InputBox(输入数据)NextiFori=1Ton-1Ifa(i)a(i+1)ThenExitForNextiForj=iTon-1If(a(j)a(j+1))ThenExitForNextjIf(j=n)ThenPrint符合条件!ElsePrint不符合条件!EndIfEndSub10.在C盘根目录下有一数据文件(cj.dat),内容如下:9901,56,789902,97,899903,67,759904,78,769905,100,90第一列数据表示学号,第二列数据表示数学成绩,第三列数据表示语文成绩,要求根据学号计算学生的总分,并按总分从高到低次序在窗体上输出。现有程序如下:Dima(5,4)AsIntegerPrivateSubForm_Click()DimiAsInteger,jAsIntegerOpenc:\cj.datForInputAs#1Fori=1To5Forj=1To3InPut#1,a(i,j)Nextja(i,4)=a(i,2)+a(i,3)NextiSortFori=1To5Forj=1To4Printa(i,j),NextjPrintNextiClose#1EndSubPrivateSubSort()DimiAsInteger,jAsInteger,kAsInteger,tempAsIntegerFori=1To4Forj=i+1To5Ifa(i,4)a(j,4)ThenFork=1To(4)temp=a(i,k)a(i,k)=a(j,k)a(j,k)=tempNextkEndIfNextjNextiEndSub3.执行下面的程序,第一行输出结果是___(111213)___,第二行输出结果是___(212223)___(UBound函数返回指定数组维的维上界)。PrivateSubForm_Click()DimiAsInteger,jAsIntegerDimmAsInteger,nAsIntegerDima()AsIntegerCallArry(a)n=UBound(a,1):m=UBound(a,2)Fori=1TomForj=1TonPrinta(i,j);NextjPrintNextiEndSubPrivateSubArry(b()AsInteger)DimiAsInteger,jAsInteger,kAsIntegerReDimb(3,3)Fori=1To3Forj=1To3b(i,j)=i*10+jNextjNextiEndSub5.执行下面的程序,结果是___(12(2)=1100)___,若将A语句替换为x=64,B句替换为r=8,则结果是___(64(8)=100)___。DimnAsInteger,kAsInteger,xAsInteger,rAsIntegerDima(8)AsIntegerPrivateSubConv(dAsInteger,r,i)i=0DoWhiled0i=i+1a(i)=dModr:d=d\rLoopEndSubPrivateSubForm_Click()x=12'A语句r=2'B语句PrintStr(x);(;Str(r);)=;Ifx=0ThenPrint0ElseCallConv(x,r,n)Fork=nTo1Step-1Printa(k);NextkPrintEndIfEndSub9.本程序的功能是在二维数组中查找鞍点元素,即该元素在所在行中为最大,且在所在列中为最小。在一个数组中可能存在,也可能不存在这样的元素。数组各元素的值从文件data.txt中读取。PrivateSubForm_Click()Dima(3,3)AsInteger,iAsInteger,jAsIntegerDimmaxvrAsInteger,colAsInteger,flgAsIntegerOpendata.txtForInputAs#1Fori=1To3'从文件中读入数据,并打印出来Forj=1To3Input#1,a(i,j)Printa(i,j);NextjPrintNextiFori=1To3maxvr=a(i,1)col=1Forj=2To3Ifmaxvra(i,j)Thenmaxvr=a(i,j)col=jEndIfNextjForj=1To3Ifmaxvra(j,col)ThenExitForNextjIfj3ThenPrinta(;i;,;col;)=;a(i,col)flg=1EndIfIfThenPrint鞍点元素不存在‘flg=0NextiEndSub4.执行下面程序后,A(1,3)的值是___(4)___,A(2,2)的值是___(5)___,A(3,1)的值是___(6)___。OptionExplicitPrivateSubForm_Click()DimA(3,3)AsInteger,iAsIntegerDimjAsInteger,kAsInteger,nAsIntegerFork=1To5Ifk=3ThenFori=1Tokn=n+1A(i,k-i+1)=nNextiElseFori=1To6-kn=n+1A(k-3+i,4-i)=nNextiEndIfNextkFork=1To3Fori=1To3PrintA(k,i);NextiPrintNextkEndSubkink-i+1k-3+i4-iA1111100000000212212000000023112030000031431243000002521243500003611243506004174-3+1=24-1=3124357600284-3+2=34-2=21243576805195-3+1=34-1=31243576894.执行下面程序后,A(1,3)的值是___(1)___,A(2,2)的值是___(5)___,A(3,1)的值是___(9)___。OptionExplicitPrivateSubForm_Click()DimA(3,3)AsInteger,IAsIntegerDimJAsInteger,KAsInteger,NAsIntegerN=9ForK=5To1Step-1IfK=3ThenForI=1To6-KA(K-3+I,I)=NN=N-1NextIElseForI=1ToKA(K-I+1,3-I+1)=NN=N-1NextIEndIfNextKForK=1To3ForI=1To3PrintA(K,I);NextIPrintNextKEndSubkink-3+ik-i+13-i+1A5195-3+1=30000009004184-3+1=2000800900274-3+2=30008009703163-3+1=1600800970253-3+2=2600850970343-3+3=36008509742132-1+1=23-1+1=3600853974222-2+1=13-2+1=26208539741111-1+1=13-1+1=36218539746.下面程序的功能是统计当前盘当前文件夹中的顺序文件dta.txt中共有多少个英文单词,约定连续出现的英文字母定义为一个单词。OptionExplicitPrivateSubForm_Click()DimChar()AsString,StAsString,TemAsStringDimIdxAsInteger,JsAsLong,FlenAsLongDimFAsBoolean,WAsString*1Opendata.txtForInputAs#10Flen=LOF(10)'Flen文件长度St=Input(Flen,#10)'St整个文件内容Js=1'Js字符的个数DoWhileJs=FlenW=Mid(St,Js,1)'W单个字符IfW=AAndW=ZOrW=aAndW=zThenTem=Tem+W'Tem连接字符的临时变量F=TrueElseIfF=TrueThenIdx=Idx+1'Idx单词的个数ReDimPreserveChar(Idx)Char(Idx)=TemTem=F=FalseEndIfjs=js+1LoopPrint共有;Idx;个单词ForJs=1ToIdxPrintChar(Js)NextJsEndSub7.下面程序的功能是当循环次数一定时,统计生成互不相同的1~100之间的随机整数的个数。OptionExplicitOptionBase1PrivateSubForm_Click()DimData()AsInteger,iAsInteger,IdxAsIntegerDimnAsInteger,TempAsInteger,FlgAsBooleann=InputBox(输入循环次数)ReDimData(1)Idx=1Data(1)=Int(100*Rnd(1))+1Fori=1TonTemp=Int(100*Rnd(1))+1___Flg=FalseCallCompare(Data,Temp,Flg)IfFlg=TrueThenIdx=Idx+1ReDimPreServeData(Idx)Data(Idx)=TempEndIfNextiPrint生成;Idx;个不相同的整数Fori=1ToIdxPrintData(i)IfiMod10=0ThenPrintNextiEndSubPrivateSubCompare(Arry()AsInteger,KAsInteger,LogicAsBoolean)DimUbAsInteger,iAsIntegerUb=UBound(arry)Fori=1ToUbIfArry(i)=KThenExitSubEndIfNextiLogic=TrueEndSub8.下面程序得功能是将无序数组中相同得数只保留一个,其余得删除,并输出经过删除后的数组元素,删除相同数是通过将该数组元素后面的元素在数组内依次前移替换前一个元素的值实现的。数组各元素的值从文件data.txt中读取。OptionExplicitOptionBase1PrivateSubForm_Click()DimIAsInteger,JAsInteger,KAsIntegerDimA()AsInteger,TAsInteger,MAsIntegerOpenc:\mydocuments\2000test\data.txtForInputAs#1DoWhileNotEof(1)I=I+1ReDimPreserveA(I)Input#1,A(I)LoopM=1:T=I或Ubound(A)DoWhileMTI=M+1DoWhileI=TIfA(I)=A(M)ThenForJ=1To(T-1)A(J)=A(J+1)NextJT=T-1ElseI=I+1EndIfLoopM=M+1LoopReDimPreserveA(T)ForI=1ToTPrintA(I);NextIPrintEndSub
本文标题:江苏试题-数组分析
链接地址:https://www.777doc.com/doc-2336282 .html