数组练习卷(1)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

鲁迅中学柯桥校区信息学竞赛小组数组练习(1)姓名:得分:11、有如下程序:programabc(output);vark:integer;a:array[1..5]ofinteger;beginfork:=1to5doa[k]:=2*k;fork:=2to4doa[k]:=a[k+1]+a[k-1];writeln(a[2],‘’,a[4])end.该程序运行后,输出的结果是()2、设A为一个一维数组,以下程序运行结果为()。A[1]:=1;ForI:=1to5doForj:=Ito5doA[j]:=a[I]+1;ForI:=1to5doWriteln(a[I])3、以下程序的功能是求5阶方阵中两条对角线上元素的最大值及其位置programmatrix(input,output);varI,j,max,m,n:integer;a:array[1..5,1..5]ofinteger;beginwriteln(‘inputA5*5matrix:’);forI:=1to5dobeginforj:=1to5doreadlnend;max:=a[1,1];m:=1;n:=1;forI:=1to5doforj:=1to5doifthenifa[I,j]maxthenbeginmax:;m:=1;n:=j;end;writeln(‘max=’,max);writeln(‘m=’,m,’n=’:4,n);end.4、已知变量声明如下:vara:array[1..3,1..3]ofinteger;I,j:integer;下面程序段的输出结果是()forI:=1to3doforj:=1to3doa[I,j]:=(Idivj)*(jdivI);forI:=1to3dobeginforj:=1to3dowrite(a[I,j]:2);writeln;end;5、下面程序的用冒泡排序法对有10个数据元素的数组从小到大进行排序,数据由键盘输入,并将排序的结果输出。请将程序补充完整。Programsortbb(input,output);Constn=10;TypeArr=array[1..n]ofinteger;Vara:arr;Temp,I,j:integer;BeignWriteln(‘input10intpgernum:’);ForI:=1tondoread(a[I]);Readln;Forj:=1to()doForI:=1to()doIfa[I]a[I+1]thenBegin()()()end;writeln(‘putput:‘);forI:=1tondowrite(a[I]:4);writelnend.6、下列程序的功能是:输入100个实数,计算相邻两个数的差,并分10行打印出来。请将程序填写完整。Programtemp(input,output);Typenr=array[1..100]ofreal;Dr=array[1..99]ofreal;Varnumbers:nr;Differences:dr;Counter:integer;BeginForcounter:=1to100doRead()Readln;Forcounter:=1to99doDifferences[counter]:=()-();Forcounter:=1to99doBeginWrite(:10:3);Ifcountermod10=()ThenwritelnEndEnd.7、有如下程序:programtkl(input,output);label10,20;varm:array[1…3,1…3]ofinteger;I,j,k:integer;BeginForI:=1to3doForj:=1to3doM[I,j]:=I+(j-1)*3;10:forI:=1to2do20:forj:=I+1to3dobegink:=m[I,j];m[I,j]:=m[j,I];m[j,I]:=kendend.请回答下列问题:在执行语句10之前,数组m的第一行元素的值是()。在程序执行完毕后,数组m第一行元素的值是(),若将程序中标号为10,20的语句改为:10:forI:=1to3do20:forj:=1to3do则程序执行后,m数组的第一行结果是()。8、以下程序实现从终端按行读入一个4*4的二维数组,分别求出其主,次对角线上元素之和,其中变量sumz用以累加主对角线元素的和,sumc用以累加次对角线元素之和。请在空白处填入正确内容。Programcal(input,output);VarA:array[1..4,1..4]ofinteger;鲁迅中学柯桥校区信息学竞赛小组数组练习(1)姓名:得分:2N,m,sumz,sumc:integer;BeginForn:=1to4doForm:=1to4doReadln()Sumz:=0;sumc:=0;Forn:=1to4doBeginSumz:=sumz+();M:=();Sumc:=sumc+a[n,m]End;Writeln(sumz:3,sumc:3)End.9、下面的程序从键盘接收任意6个数置放入数组a中,假设这6个数为:814256,则可输出一个如下内容的方阵。814256681425568142256814425681142568programlatin(input,output);vara:array[1..6]ofinteger;I,j,k:integer;BeginForI:=1to6doRead();Readln;ForI:=1to6doBeginIfI=1thenk:=1Elsek:=();Forj:=1to()doBeginWrite(a[k]:2);Ifk=6thenk:=1Elsek:=()End;WritelnEndEnd.10、设有二维数组A:123…10246…20……..102030…100对该二维数组元素求和的程序段如下:sum:=0;forI:=1to()doforj:=()to10dosum:=sum+()writeln(‘result:’,);11、programexe614;Vara,b,c:array[1..100,1..100]ofinteger;M,n,h,I,j,s,k:integer;BeginWrite(‘m=’);readln(m);Write(‘N=’);readln(n);Wrie(‘H=’);readln(h);Writeln(‘inputA’)Fori:=1tomdoForj:=1tondoread(a[I,j]);Writeln(‘inputB’)Fori:=1tondoForj:=1tohdoread(b[I,j]);Fori:=1tomdoForj:=1tohdoBeginS:=0;Fork:=1tondos:=s+a[I,k]*b[k,j];C[I,j]:=s;End;Fori:=1tomdoBeginForj:=1tohdowrite(c[I,j]:4);Writeln;End;End.输入:m=2N=3H=1InputA123456InputB123输出结果:12、求一个N*N数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下:5678945678345212349012548则1行1列上的数就是马鞍数,Programexe615;Constn=5;Vara:array[1..n,1..n]ofinteger;H,l:array[1..n]ofinteger;Min,max,I,j:integer;BeginFori:=1tondoForj:=1tondoFori:=1tondoBeginMin:=a[I,1];Forj:=2tondoIfthenmin:=a[I,j];H[i]:=min;End;Forj:=1tondoBeginMax:=a[1,j];Fori:=2tondoIfa[I,j]maxthenL[j]:=max;End;ForI:=1tondoForj:=1tondoIfthenWriteln(‘(‘,I,’,’,j,’)’:’,a[I,j]);End.

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功