C语言-数组总结.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.2 二维数组的定义和引用 二维数组在内存中的存放形式是按行存放的,下一行紧跟在上一行的尾部。 4.2 二维数组的定义和引用 2.二维数组元素的引用 数组名[下标1] [下标2] float a[3][4] 在引用二维数组时,最大的行、列下标都应比定义的值少 1。 要引用二维数组的全部元素,即要遍历二维数组,通常应使用二层嵌套的for循环:外层对行进行循环,内层对列进行循环。其格式一般为: 4.2 二维数组的定义和引用 for(i=0;i=行数-1;i++) for(j=0;j=列数-1;j++) { …a[i][j]…} 例4-7 定义一个二维数组,并输出每一行的最小值。 4.2 二维数组的定义和引用 #define N 4 main() { int a[N][N], m[N], i, j; ….. for (i=0; iN; i++) { m[i]=a[i][0]; for (j=1; jN; j++) if (m[i]a[i][j]) m[i]=a[i][j]; …… } 4.2 二维数组的定义和引用 3.二维数组变量的初始化 1)按行依次对二维数组赋初值。例如: static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; 2)将所有数据写在一个花括号内,按数组排列顺序对各数组元素赋初值。例如: static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 4.2 二维数组的定义和引用 3)同一维数组一样,可以对部分元素显式赋初值。例如: static int a[3][3]={{1},{2},{3}}; 它的作用只对各行第一列的元素赋初值,其余元素值自动为0,故相当于: static int a[3][3]={{1,0,0},{2,0,0},{3,0,0}}; 4.2 二维数组的定义和引用 4)若对全部元素显式赋初值,则数组第一维的元素个数在说明时可以不指定,但第二维的元素个数仍然不能缺省。例如: static int a[ ][4]={1,2,3,4,5,6,7,8}; 4.2 二维数组的定义和引用 例4-8 定义一个二维数组,求出最大值以及其所在的行号和列号。 main() { int i,j,row=0,colum=0,max; int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; max=a[0][0]; for(i=0;i=2;i++) for(j=0;j=3;j++) if(a[i][j]max) { max=a[i][j]; row=i; colum=j;} printf(max=%d,row=%d,colum=%d\n,max,row,colum); } 4.2 二维数组的定义和引用 例4-9 将4X4的矩阵转置并输出 4.2 二维数组的定义和引用 main() { int a[4][4],t,i,j; for(i=0;i4;i++) for(j=0;j4;j++) scanf(%d,a[i][j]); for(i=1;i4;i++) for(j=0;ji;j++) { t =a[i][j]; a[i][j] =a[j][i]; a[j][i] =t; } printf(\n change array :\n); for(i=0;i4;i++) { for(j=0;j4;j++) printf(%d, a[i][j]); printf(\n); } } 4.3 多维数组 多维数组的定义、数组元素的引用与二维数组类似,只是需要相应维数的下标。在C语言中可以定义二维以上最多12维的数组。 定义多维数组的一般形式为: 类型标识符 数组名 [e1][e2]…[en] for(i=0;i=页数-1;i++) for(j=0;j=行数-1;j++) for(k=0;k=列数-1;k++) { …a[i][j][k] …} 4.3 多维数组 例4-10 求掷6000次骰子点数的概率 #include “stdlib.h” main() { int roll[7]={0},i,m; for (i

文档评论(0)

4477769 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档