二维数组字数组.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二维数组字数组

1.3 二维数组与多维数组 1.3.1 二维数组一般形式: 类型说明符 数组名 [常量表达式1][常量表达式2] 【例】float a[3][4],b[5][10] 注意:千万不要写成 a[3,4] 1.3.2 二维数组初始化: 1)分行给二维数组初始化 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}} 2)一一对应赋值 int a[3][4]={ 1,2,3,4, 5,6,7,8, 9,10,11,12} 3)对部分元素赋值 int a[3][4]={{1},{5},{9}};……对矩阵的第一列赋值,每行第一个值为1,5,9,其余为0 1 0 0 0 5 0 0 0 9 0 0 0 int a[3][4]={{1},{0,6},{0,0,11}}; 1 0 0 0 0 6 0 0 0 0 11 0 int a[3][4]={{1},{5,6}};……第三行不赋值 1 0 0 0 5 6 0 0 0 0 0 0 int a[3][4]={{1},{},{9}};……第二行不赋值 1 0 0 0 0 0 0 0 9 0 0 0 4)如果对所有元素都赋值,第一维可以省略,第二维必须有 【例】 int a[3][4]={ 1,2,3,4, 5,6,7,8, 9,10,11,12} 也可以写成:int a[][4]={ 1,2,3,4, 5,6,7,8, 9,10,11,12} 数组初始化的快捷方法——memset函数(内存中连续空间的初始化) int a[10]; for (i = 0; i 10; i++) a[i] = 0; 和 #includestring.h memset(a, 0, sizeof(a)); 如定义一个二维数组int?a[25][25];如何用memset对其初始化为0; memset( a, 0, sizeof( a ) ); 1.3.3 二维数组应用举例 【例】将一个二维数组行列互换,存到另外一个二维数组中 如 1 2 3 a= 4 5 6 1 4 b= 2 5 3,6 main() { int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j; for(i=0;i=1;i++) { for(j=0;j=2;j++) {printf(“%5d”,a[i][j]); b[j][i]=a[i][j]; } printf(“\n”); } for(i=0;i=2;i++) { for(j=0;j=1;j++) printf(“%5d”,b[i][j]); printf(“\n”); } } 【例】有一个3×4矩阵a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}},编程求出值最大的元素及其所在的行号、列号 main() { int i,j,raw,colum,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];raw=i;colum=j;} printf(“%d,%d,%d”, a[i][j],raw,colum); } 【二维、多维数组训练】 1.求一个3*3矩阵两条对角线之和 2.利用二维数组打印杨辉三角(10行) 3.打印“魔方阵”。魔方阵是指每一行的和、每一列的和、对角线的和均相等。 例如三阶魔方阵: 8 1 6 3 5 7 4 9 2 要求打印出1到n2的自然数构成的魔方阵 3.找出一个二维数组的鞍点。即该位置上的数在该行上最大,在该列上最小。也可能没有鞍点。 1.4 字符数组 1.4.1 字符数组的一般形式: char c[10] 1.4.2 字符数组的初始化 1)逐个字符赋值给数组元素 【例】char c[10]={‘i’,’ ’,’a’,’m’,’ ’,’h’,’a’,’p’,’p’,’y’}; 2)若字符个数大于数组长度,按语法错误处理;若字符个数小于数组长度,将这些字符赋值给前面那些元素,其余元素为空(即‘\0’,ASCII码 0表示空操作) 3)如果数组长度与字符个数相同,数组长度可以省略(不用人工数) 【例】char c[]={‘i’,’ ’,’a’,’m’,’ ’,’h’,’a’,’p’,’p’,’y’}; 4)可以定义二维字符数组 char diamond[5][5]={{‘ ‘,’ ‘,’*’},{‘ ‘,’*’,’ ‘,’*’}

文档评论(0)

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

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

1亿VIP精品文档

相关文档