二维数组.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
思考题: 什么是二维数组,什么情况下使用二维数组 带有两个下标的数组称为 2.二维数组如何定义,float score[34][7]是什么意思,score[10][2]是什么意思 3.如何为二维数组提供值 4.读案例分析程序执行过程 练习题: 1.在C语言中,二维数组的定义方式为:类型说明符 数组名[_常量表达式一____][___常量表达式二__]。 2.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为_{1,2,0}_______。 3.写出运行结果 #include stdio.h main() { int a[4][4]={{1,2,-3,-4}, {0,-10,-1,14}, {-2,23,0,24}, {-3,42,-30,0}}; int i,j,s=0; for (i=0;i4;i++) for (j=0;j4;j++) { if (a[i][j]0) continue; if (a[i][j]==0) break; s+=a[i][j]; } printf(%d\n,s); } 4.下面程序可求出矩阵a的主对角线上的元素之和,请填空。? #include stdio.h void ?main()? ??{ int?a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;? ?? for(i=0;i3;i++)? ??? for(j=0;j3;j++)? ????? if(【1】)? sum=sum+【2】;? printf(sum=%d\n,sum);? }? 5.从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。 若数组a的各元素值为:?,编写一子函数,使其与main函数共同实现对各行求和并按如下格式输出: 。2所示。在逻辑上以两名学生为行、以四科成绩为列构成一个表格。数据元素score[1][1],有两个下标,第1个表示“行”,第2个表示“列”,也就是说score[1][1]代表第2行第2列那个逻辑单元。二维数组同一维数组内存地址是连续的。二维数组也可以看做是多个一维数组。 表8.2 二维数组内存表示 C语言成绩 外语成绩 数学成绩 操作系统成绩 第一名学生成绩 score[0][0] score[0][1] score[0][2] score[0][3] 第二名学生成绩 score[1][0] score[1][1] score[1][2] score[1][3] 8.3.1 二维数组的定义 1.二维数组定义 二维数组定义的一般形式为: 类型说明符 数组名[行下标][列下标]; 2.二维数组的引用 二维数组元素的引用形式为: 数组名[行下标][列下标]; (做中学 1 定义一个2行4列的二维数组并求和 源码: /* p8_10.c */ /* 二维数组元素引用*/ #include stdio.h int main() /* 主函数 */ { int score[2][4]; /* 定义二维数组 行下标与列下标都从0开始*/ int i,j; int sum=0; int rowSum=0; for(i=0;i2;i++) /* 为二维数组元素提供值*/ { for(j=0;j4;j++) scanf(%d,score[i][j]); } sum=score[1][1]+score[0][3];/*计算2行2列与1行列两个元素的和*/ for (j=0;j4;j++) rowSum=rowSum+score[0][j];/* 计算第1行和 */ printf(sum=%d\n,sum); printf(rowSum=%d\n,rowSum); return 0; } 源码说明: (1)int score[2][4];定义一批变量,数组元素名,如表8.2所示。同一维数组不同的是二维数组有两个下标:行下标、列下标。其他用与一维数组元素、普通变量相同。由于有两个下标,所以源码中用双循环控制下标,外循环控制行下标,内循环表示列下标。 (2)sum=score[1][1]+score[0][3];是计算第2行第2列和第1行第4列元素的和。rowSum=rowSum+score[0][j];是计算第1行各元素的和,行下标不变,列下标用一个循环变量j控制。相当于:rowSum=score[0][0]+ score[0][1]+ score[0][2]+ score

文档评论(0)

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

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

1亿VIP精品文档

相关文档