网站大量收购独家精品文档,联系QQ:2885784924

C语言-多维数组.pptVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言-多维数组.ppt

* 多维数组 重点: 1.二维数组的定义、初始化、存储、元素引用 2.二维数组的简单应用 难点: 1.二维数组的定义、初始化、存储、元素引用 2.二维数组的简单应用 二维数组的定义 类型 数组名[行数][列数] 例:int aa[5][4]; 注意事项: 1.数组下标都是从0开始,数组元素在内存中按行存放(由前到后,下标变化逐渐加快,更高维的数组也如此) 2.定义数组时,注意行数与列数必须是常量表达式,除了特殊情形(完全初始化和做形式参数)外,行数不能省略,而列数任何情况下都不能省略。 二维数组的初始化 1)按行方式: int a[3][4]={{1,2,3,-1},{0,3,2,0},{1,1,1,4}}; 2)按元素存储方式: int a[3][4]={ 1,2,3,-1, 0,3,2,0, 1,1,1,4}; 3)不完全初始化: int a[3][4]={{1,2,3},{0,3,2,0}}; int a[3][4]={ 1,2,3,-1, 0,3,2} 4)部分赋值时:只要进行初始化,系统即会将缺少初值的元素赋0值。 5)完全赋值时,行数项可以省略,由系统自动测 定。 二维数组元素的引用 下标方式 数组名[行下标][列下标] 其中: 行下标的上下界分别为0—行数-1 列下标的上下界分别为0—列数-1 系统不进行越界检查 行、列下标值可以为:常量、变量、表达式等整型值。 如: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; a[2][3]=99; 二维数组的存储行序优先的方式存储 二维数组元素的输入输出 通过循环一次一个元素的输入输出,一般采用二重循环 如: main() { int a[4][3],i,j; for(i=0;i4;i++) for(j=0;j3;j++) scanf(“%d”,a[i][j]); …… } 二维数组的应用 1.求出二维数组中的最大和最小值 #define M 3 #define N 2 main() { int a[M][N]={1,3,0,33,2,22}; int i,j,max=a[0][0],min=a[0][0]; for(i=0;iM;i++) for(j=0;jN;j++) if (maxa[i][j]) max=a[i][j]; else if (mina[i][j]) min= a[i][j]; printf(“%d %d”,max,min); } 二维数组的应用 2.求对称矩阵主对角线的和 #define M 3 #define N 3 main() { int a[M][N]={1,3,33,2,22,3,4,44,6}; int i,sum=0; for(i=0;iM;i++) sum+=a[i][i]; printf(“%d”,sum); } 思考题: 1、求次对角线之和; 2、求对角线之和; 二维数组的应用 3.求二维数组中每行的最大或最小值 #define M 3 #define N 2 main() { int a[M][N]={1,3,0,33,2,22},b[M]; int i,j,k,max; for(i=0,k=0;iM;i++) for(b[k]=a[i][0],j=1;jN;j++) if (b[k]a[i][j]) { b[k]= a[i][j];k++; } for(i=0;iM;i++) printf(“%d ”,b[i]); }

文档评论(0)

zhoujiahao + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档