合肥
合肥奥数网

合肥站
奥数网

信息学竞赛Pascal语言 数组与字符串(五)(2)

合肥奥数网整理 2012-12-14 15:34:13

  二维数组

  一维数组在编程中多用于描述线性的关系:如一组数;一组成绩;一组解答等。数组元素只有一个下标,表明该元素在数组中的位置。二维数组在编程中多数用于描述二维的关系:如地图、棋盘、城市街道、迷宫等等。而二维数组元素有两个下标:第一个下标表示该元素在第几行,第二个下标表示在第几列。

  1.二维数组的定义:

  var

  a:array[1..10,1..5]ofinteger;

  其中:a是数组名,由程序员自定;array和of是定义数组的保留字;(这两点和一维数组定义的格式一样)中括号中的两个范围表示二维数组共有多少行、多少列(第一个范围表示行数,第二个范围表示列数);最后一个表示数组元素的类型,规定和一维数组一样。如上例,定义了一个二维数组a,共有10行5列。

  2.使用二维数组:

  1、数组元素的指称:数组名[行号,列号]。如第三行第四个元素:a[3,4]。

  对某一行进行处理。如累加第4行的数据。则固定行号为4。如:fori:=1to5dos:=s+a[4,i];

  对某一列进行处理。如累加第4列的数据。则固定列号为4。如:fori:=1to10dos:=s+a[i,4];

  2、二维数组的输入输出要用双重循环来控制:

  fori:=1to10do{————控制行数}

  begin

  forj:=1to5doread(a[i,j]){————第一行读入5个元素}

  readln;{————读入一个换行符}

  end;

  {————最常用的方法:从键盘读入数据初始化二维数组}

  fori:=1to10do

  forj:=1to5doa[i,j]:=0;

  {————最常用的方法:将二维数组清0}

  fori:=1to10do

  begin

  forj:=1to5dowrite(a[i,j]:4);

  writeln;

  end;

  {————最常用的输出方法:按矩阵形式输出二维数组的值}

  例1:竞赛小组共有20位同学,这学期每位同学共参与了三项比赛,请统计每位同学的平均分。

  分析:定义一个20行3列的二维数组来存放这些成绩。定义一个20个元素的一维数组来存放平均分。

  programp1;

  var

  a:array[1..20,1..3]ofinteger;

  b:array[1..20]ofreal;

  i,j:integer;

  begin

  fori:=1to20do

  begin

  forj:=1to3doread(a[i,j]);

  readln;

  end;

  {————从键盘上读入20个同学的三次竞赛成绩}

  fori:=1to20dob[i]:=0;

  {————先将平均分数组清0}

  fori:=1to20do

  begin

  forj:=1to3dob[i]:=b[i]+a[i,j];{————计算总分}

  b[i]:=b[i]/3;{————计算平均分}

  end;

  fori:=1to20dowrite(b[i]:5:1);

  {————输出平均分}

  writeln;

  end.

下一页阅读字符串

首页 上一页 下一页 尾页

相关推荐

点击查看更多
重点初中
首页 导航