4006-01-9999
登录

华图事业单位官网

您当前位置: 事业单位 > 备考 > 专业课辅导 > 2015年国家电网考试备考计算机之数据结构与算法(2)

2015年国家电网考试备考计算机之数据结构与算法(2)

2014-09-27 15:14:50 事业单位考试网 https://sydw.huatu.com/ 文章来源:华图教育

立即领取
专属客服答疑
在线模考
事业单位公众号

【导读】华图事业单位考试网同步华图教育发布:2015年国家电网考试备考计算机之数据结构与算法(2),详细信息请阅读下文!事业单位考试考情政策解读,点击领取备考资料,更多事业单位考试资讯请关注(htshiyedanwei)公众号,欢迎加入事业单位招聘考试交流群:事业单位招聘考试全国各地企微群  参加刷题、模考、领取备考资料,考编路上不孤单!

  类型说明符数组名[常量表达式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即得到各科总平均成绩。最后按题意输出各个成绩。

  初始化

  二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。例如对数组a[5][3]:

  1.按行分段赋值可写为static int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} };

  2.按行连续赋值可写为static int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 };

  这两种赋初值的结果是完全相同的。

手机端链接:https://m.sydw.huatu.com/2014/0927/1070701.html

官方微信号

官方微博号

事业单位考试推荐
热点考试
招考公告 职位表 报名时间 报名条件 报名入口
考试时间 缴费入口 考试科目 考试大纲 报考指导
准考证 成绩查询 资格复审 面试公告 工资待遇
实用备考
每日直播 时政周播 领资料包 试题资料 备考指导
图书购买 笔试课程 面试课程 网络课程 更多>>>
(编辑:admin)
推荐活动
联系方式
华图事业单位企微客服

事业单位微信

考情备考答疑
获得免费备考资料
华图事业单位官方微博二维码

事业单位微博号

关注微博号
领取更多备考福利

图书推荐

更多>
有报考疑惑?在线客服随时解惑

公告啥时候出?

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

报考岗位解惑   怎么备考?

冲刺资料领取?

事业单位