新疆分校

您当前位置:新疆公务员考试网新疆人事考试网 > 新疆事业单位考试 > 备考技巧 > 2020新疆事业单:计算机之数据结构与算法(2)

2020新疆事业单:计算机之数据结构与算法(2)

2020-02-10 19:33:43 新疆公务员考试网 //xj.huatu.com/ 文章来源:新疆华图

  二维数组

  定义

  前面介绍的数组只有一个下标,称为一维数组, 其数组元素也称为单下标变量。在实际问题中有很多量是二维的或多维的, 因此C语言允许构造多维数组。多维数组元素有多个下标, 以标识它在数组中的位置,所以也称为多下标变量。本小节只介绍二维数组,多维数组可由二维数组类推而得到。二维数组类型说明的一般形式是:

  类型说明符数组名[常量表达式1][常量表达式2]…;

  其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。例如:

  int a[3][4]; 说明了一个三行四列的数组,数组名为a,其下标变量的类型为整型。该数组的下标变量共有3×4个,即:

  a[0][0],a[0][1],a[0][2],a[0][3]

  a[1][0],a[1][1],a[1][2],a[1][3]

  a[2][0],a[2][1],a[2][2],a[2][3]

  二维数组在概念上是二维的,即是说其下标在两个方向上变化, 下标变量在数组中的位置也处于一个平面之中, 而不是象一维数组只是一个向量。但是,实际的硬件存储器却是连续编址的, 也就是说存储器单元是按一维线性排列的。如何在一维存储器中存放二维数组,可有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。在C语言中,二维数组是按行排列的。在如上中,按行顺次存放,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中有四个元素也是依次存放。由于数组a说明为

  int类型,该类型占两个字节的内存空间,所以每个元素均占有两个 字节(图中每一格为一字节)。

  元素的表示方法

  二维数组的元素也称为双下标变量,其表示的形式为:数组名[下标][下标]

  其中下标应为整型常量或整型表达式。例如:a[3][4] 表示a数组三行四列的元素。

  下标变量和数组说明在形式中有些相似,但这两者具有完全不同的含义。数组说明的方括号中给出的是某一维的长度,即可取下标的最大值; 而数组元素中的下标是该元素在数组中的位置标识。前者只能是常量, 后者可以是常量,变量或表达式。

  一个学习小组有5个人,每个人有三门课的考试成绩。求全组分科的平均成绩和各科总平均成绩。

  课程 成绩姓名Math C DBASE

  张 80 75 92

  王 61 65 71

  李 59 63 70

  赵 85 87 90

  周 76 77 85

  可设一个二维数组a[5][3]存放五个人三门课的成绩。再设一个一维数组v[3]存放所求得各分科平均成绩,设变量l为全组各科总平均成绩。编程如下:

  void main()

  {

  int i,j,s=0,l,v[3],a[5][3];

  printf("input score\n");

  for(i=0;i<3;i++){

  for(j=0;j<5;j++)

  { scanf("%d",&a[j]);

  s=s+a[j];}

  v[i]=s/5;

  s=0;

  }

  l=(v[0]+v[1]+v[2])/3;

  printf("math:%d\nc languag:%d\ndbase:%d\n",v[0],v[1],v[2]);

  printf("total:%d\n",l);

  } for(i=0;j<3;i++)

  for(j=0;j<5;j++)

  { scanf("%d",&a[j]);

  s=s+a[j];}

  v=s/5;

  s=0;

  }

  l=(v[0]+v[1]+v[2])/3;

  程序中首先用了一个双重循环。在内循环中依次读入某一门课程的各个学生的成绩,并把这些成绩累加起来, 退出内循环后再把该累加成绩除以5送入v之中,这就是该门课程的平均成绩。外循环共循环三次,分别求出三门课各自的平均成绩并存放在v数组之中。退出外循环之后,把v[0],v[1],v[2]相加除以3即得到各科总平均成绩。最后按题意输出各个成绩。


  ——推荐阅读——

    

招考公告——2022新疆事业单位报考公告

  试题资料——2022新疆事业单位相关考题

  考试技巧——事业单位备考技巧

  职位查询——新疆事业单位职位库

  笔试课程——事业单位好课程 备战事考有方法

新疆公务员考试网推荐:

新疆人事考试网

新疆华图微信公众号

想了解此公告考试内容及更多精彩信息,请扫码关注

在线咨询

新疆华图微信客服

扫描二维码,添加总客服,获取更多备考资料!

更多招考

 以上为本文的全部内容,由新疆公务员考试网提供,希望对考生有所帮助!更多新疆公务员招考信息,请加新疆公务员考试交流群新疆公务员考试网,及关注新疆公务员考试招考资讯/新疆人事考试网

(编辑:我叫安琪拉)
有报考疑惑?在线客服随时解惑

公告啥时候出?

报考问题解惑?报考条件?

报考岗位解惑   怎么备考?

冲刺资料领取?

立即咨询
2020年新疆省考笔试辅导课程
华图教育:xinjianght
想考上公务员的人都关注了我们!
立即关注

10万+
阅读量
150w+
粉丝
1000+
点赞数

联系我们
微信二维码

新疆华图教育官方微信

新疆华图

乌鲁木齐市沙依巴克区西北路887号

NAGA尚院3楼(哈密路下车)

北京华图宏阳文化发展股份有限公司

新疆分公司

客服热线:0991-4539521

网站:http://xj.huatu.com

  • 乌鲁木齐
  • 昌吉
  • 伊犁
  • 博乐
  • 阿克苏
  • 哈密
  • 阿勒泰
  • 石河子
  • 库尔勒
  • 喀什
  • 克拉玛依
  • 和田
  • 吐鲁番
  • 塔城

乌鲁木齐市沙依巴克区西北路887号NaGa尚院3楼

客服热线:0991-4539521

网站:http://xj.huatu.com

昌吉南公园西路中石油教育培训4楼

客服热线:0994-6539099

网站:http://changji.huatu.com/

伊宁市解放西路上海城成鑫商业写字楼4楼华图教育(1路,101路,12路公交车站上海城门口站向西200米)

客服热线:0999-8097780

网站:http://yili.huatu.com/

博乐市青得里大街新华书店四楼华图教育

客服热线:0909-2225670

网站:http://bole.huatu.com/

阿克苏市大十字新农大厦13楼

客服热线:0997-6830139

网站:http://akesu.huatu.com

哈密市天山北路豫商大厦14楼4号

客服热线:0902-2308211

网站:http://hami.huatu.com

阿勒泰市温州大酒店10楼

客服热线:0906-2138242

网站:http://aletai.huatu.com

石河子市光明大厦二单元12楼(兵团设计院)

客服热线:0993-2018859

网站:http://shihezi.huatu.com

库尔勒人民东路豪景大厦1001室

客服热线:0993-2018859

网站:http://kuerle.huatu.com

喀什新德商务酒店7楼(喀什电视台对面)

客服热线:0998-2573025

网站:http://kashi.huatu.com

克拉玛依市友谊路16号博达银都酒店613室

客服热线:0990-6615251

网站:http://klmy.huatu.com

和田

客服热线:

网站:http://hetian.huatu.com

吐鲁番

客服热线:18999939621

网站:http://tulufan.huatu.com

塔城

客服热线:15099630950

网站:http://tacheng.huatu.com