chapter06数组.ppt

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

本章要点 主要内容 一维数组的定义和引用 二维数组的定义和引用 字符数组 1 一维数组的定义和引用 对三个数从大到小进行排序 #include stdio.h int main() { int a, b, c, t; scanf (“%d,%d,%d”, a, b, c); if (a b) {t = a; a = b; b = t;} if (a c) {t = a; a = c; c = t;} if (b c) {t = b; b = c; c = t;} printf (“\n %d, %d, %d”, a, b, c); return 0; } 2 二维数组的定义和引用 二维数组的定义 多维数组的定义 二维数组的引用 一种新的字符数组初始化方法: 用字符串常量来初始化字符数组 例如: char c[] = {Hello}; 与 char c[] = {H, e, l, l, o, \0}; 等价 字符数组c的元素个数为 6 关于strcpy函数的几点说明 3.可以对部分元素赋初值。 例如: int a[3][4] = {{1},{5},{9}}; 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 1 0 0 0 5 6 0 0 0 0 0 0 也可以只对某几行元素赋初值。如: int a[3][4] = {{1}, {5, 6}}; int a[3][4] = {{1}, {}, {5, 6}}; 1 0 0 0 0 0 0 0 5 6 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}; 在定义时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。 例如:int a[][4] = {{0,0,3}, {}, {0,10}}; 0 0 3 0 0 0 0 0 0 10 0 0 二维数组程序举例 例:将一个二维数组行和列元素互换,存到另一个二维数组中。 例如: 1 2 3 1 4 a = b = 2 5 4 5 6 3 6 #include stdio.h void main() { int a[2][3] = {{1, 2, 3}, {4, 5, 6}}; int b[3][2], i, j; printf (array a:\n); 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); } printf (array b:\n); for (i = 0; i = 2; i++) { for (j = 0; j = 1; j++) printf (%5d , b[i][j]); printf (\n); } } 运行结果如下: array a: 1 2 3 4 5 6 array b: 1 4 2 5 ??? 3? 6 例: 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 N-S流程图表示算法 如下: #include stdio.h void 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); }

文档评论(0)

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

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

1亿VIP精品文档

相关文档