- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
lesson 1 数据的组织结构一 二维数组
3 二维数组 3 二维数组的引用 1 2 3 4 5 6 7 8 9 10 11 12 7 第1行 第2列 数组a a[1] [2] 数组名[行下标][列下标] * 3 二维数组 3 在定义二维数组时,给元素赋初值 形式1: int a[2][3]={1,2,3,4,5,6}; 形式2: int a[2][3]={{1,2,3},{4,5,6}}; 形式3: int a[ ][3]={1,2,3,4,5,6}; 形式4: int a[2][]={1,2,3,4,5,6}; ×错误! * 3 二维数组操作 4 二维数组元素的引用及基本操作 数组的赋值 for (i=0; iROWS; i++) for (j=0; jCOLS; j++) value[i][j] = i+j; 数组的输入 for (i=0; iROWS; i++) for (j=0; jCOLS; j++) scanf(“%d”, value[i][j]); #define ROWS 4 #define COLS 5 int value [ROWS][COLS]; * 3 二维数组操作 4 二维数组元素的引用及基本操作 3. 数组的输出 for (i=0; iROWS; i++) { for (j=0; jCOLS; j++) printf(“%4d”, value[i][j]); putchar(‘\n’); } #define ROWS 4 #define COLS 5 int value [ROWS][COLS]; * 3 二维数组应用 5 例6: 判断给定方阵是否为对称矩阵。 1 10 21 88 2 10 4 13 99 25 21 13 6 14 36 88 99 14 7 123 2 25 36 123 3 * 3 二维数组应用 5 问题分析 对于一个给定的N?N矩阵array,如果矩阵中的每个元素都满足array[i][j]=array[j][i],则称这个矩阵为对称矩阵。 在判断一个给定的矩阵是否为对称矩阵时,只需要用下三角部分的每个元素与对应的上三角元素进行比较。如果每一对元素都相等,这个矩阵就是对称矩阵,否则,就是非对称矩阵。 * 算法描述 * #include stdio.h #define NUM 5 //矩阵行列数 int main( ) { int m[NUM][NUM]; /*定义二维数组变量*/ int i, j; /* 输入矩阵 */ printf(\Enter %d rows %d cols datas for the maxtrix:\n,NUM,NUM); for (i=0; iNUM; i++) for (j=0; jNUM; j++) scanf(%d, m[i][j]); /* 显示矩阵 */ for (i=0; iNUM; i++){ for (j=0; jNUM; j++) printf(%4d, m[i][j]); printf(\n); } * /* 判断矩阵是否对称并输出相应的结果 */ for (i=0; iNUM; i++) for (j=0; ji; j++) if (m[i][j]!=m[j][i]) { printf(\nThe matrix isnt symmetrical.); return 0; } printf(\nThe matrix is symmetrical.); return 0; } * 3 课堂练习 6 矩阵转置 * * #include stdio.h #define ROWS 2 //矩阵行数 #define COLS 4 //矩阵列数 int main( ) { int value1[ROWS][COLS],value2[COLS][ROWS]; int i, j; printf(\nEnter %d rows %d cols datas for the maxtrix:\n,ROWS,COLS); for (i=0; iROWS; i++) for (j=0; jCOLS; j++) scanf(%d,
文档评论(0)