第6章_数组课件.ppt
《第6章_数组课件.ppt》由会员分享,可在线阅读,更多相关《第6章_数组课件.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章_数组ppt课件(全)第第6章章 数数 组组第6章_数组ppt课件(全)第第6章章 数数 组组6.1 一维数组一维数组6.2 二维数组二维数组6.3 字符数组字符数组第6章_数组ppt课件(全) 6.1 一维数组一维数组int a,b;int c10;则则 c0,c1,c9都是变量。都是变量。6.1.1 一维数组的定义一维数组的定义 类型标识符类型标识符 数组名数组名元素个数元素个数;例如:例如: char str20;数组名为数组名为 str,有,有20个元素个元素: str0,strl,str2,.,str19第6章_数组ppt课件(全) 6.1.2 一维数组的存储形式一维数组的存储
2、形式 对于对于 int a10; 编译系统为数组编译系统为数组a分配分配10*sizeof(int) 个字节个字节的存储区域。的存储区域。a0 a1 a2 a3 a4 a5 a6 a7 a8 a9aa+1 a+2 a+3 a+4 a+5 a+6 a+7 a+8 a+9数组名表示数组的首数组名表示数组的首地址地址a+i表示表示&ai第6章_数组ppt课件(全)6.1.3 一维数组的初始化一维数组的初始化 第6章_数组ppt课件(全)6.1.4 一维数组的引用一维数组的引用数组名数组名下标下标下标可以是整型表达式。下标可以是整型表达式。例如例如: int a10; a0=5; a1=2*a3/4;
3、 a5=a3%2+a6-6; 第6章_数组ppt课件(全)6.1.5 一维数组应用举例一维数组应用举例【例【例6.1】用选择排序法对】用选择排序法对 n 个数从小到大排序。个数从小到大排序。 分析:分析:设设 n=5 a0 a1 a2 a3 a4 原序列:原序列: 8 6 3 1 2 i=0, k=3第第1遍选择:遍选择: 1 6 3 8 2 i=1, k=4第第2遍选择:遍选择: 1 2 3 8 6 i=2, k=2第第3遍选择:遍选择: 1 2 3 8 6 i=3, k=4第第4遍选择:遍选择: 1 2 3 6 8 第6章_数组ppt课件(全)#include #define N 8voi
4、d main() float aN,t; int i,j,k;for(i=0;iN;i+) scanf(%f,&ai); for(i=0;iN-1;i+) k=i; for(j=i+1;jN;j+) if(ajak) k=j; t=ak; ak=ai; ai=t; for(i=0;iN;i+) printf(%.2f ,ai);第6章_数组ppt课件(全)【例【例6.2】用冒泡排序法对】用冒泡排序法对n个数从小到大排序。个数从小到大排序。 对对5个数,从小到大排序:个数,从小到大排序: N=5第一遍选择:第一遍选择: 8 6 3 1 2第一次第一次68312第二次第二次63812第三次第三次6
5、3182第四次第四次63128结果结果第6章_数组ppt课件(全) 6 3 1 1 3 1 2 2 1 2 3 3 2 6 6 6 8 8 8 8 第一遍第一遍 第二遍第二遍 第三遍第三遍 第四遍第四遍第6章_数组ppt课件(全)#include #define N 8void main() float aN ,t; int i,j,k; printf(input %d numbers:n,N); for(i=0;iN;i+) scanf(%f,&ai); for(i=0;iN-1;i+) for(j=0;jaj+1) t=aj; aj=aj+1 ; aj+1=t; printf(the so
6、rted numbers:n); for(i=0;iN;i+) printf(%.2f ,ai);第6章_数组ppt课件(全)6.2 二维数组二维数组6.2.1 二维数组的定义二维数组的定义 类型标识符类型标识符 数组名数组名常量表达式常量表达式常量表达式常量表达式;例如:例如: float a34;定义定义a为为3行行4列的数组,共有列的数组,共有12个元素,即:个元素,即:a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a23第6章_数组ppt课件(全)6.2.2 二维数组的存储形式二维数组的存储形式二维数组在内存中二维数组在内存中按行存放按行存放。 i
7、nt a32;a00 a01a10 a11a20 a21a01a10a11a20a21a00第6章_数组ppt课件(全) (1)全部元素赋初值全部元素赋初值 int a34= 1,2,3,4, 5,6,7,8, 9,10,11,12 ; int a34= l,2,3,4,5,6,7,8,9,10, 11,12;(2) 部分元素赋初值。部分元素赋初值。 int a34=l,5,9; int a34=1,5,9,4;(3)一维的长度可不指定。一维的长度可不指定。 int a 41,2,3,4,5,6,7,8,9,10,11,12;6.2.3 二维数组的初始化二维数组的初始化第6章_数组ppt课件(
8、全)6.2.4 二维数组的引用二维数组的引用数组名数组名下标下标下标下标如:如:int x23;x00=3;x12=x00+5;x12 +;第6章_数组ppt课件(全) 6.2.5 二维数组应用举例二维数组应用举例【例【例6.4】 输入一个输入一个44的整数矩阵,分别求的整数矩阵,分别求两对角线上元素之和。两对角线上元素之和。m00 m01 m02 m03m10 m11 m12 m13m20 m21 m22 m23m30 m31 m32 m33分析:分析:当当 i=j 时,时, mij 在主对角线上在主对角线上 当当 i+j=3 时,时,mij 在次对角线上在次对角线上第6章_数组ppt课件(
9、全)#define N 4 #includevoid main()int mNN; int i, j, r1=0, r2=0; for( i=0;iN;i+) printf(one line:); for(j=0;jj。第6章_数组ppt课件(全)#include #define N 4void main() int aNN, temp; int i,j; for(i=0;iN;i+) for(j=0;jN;j+) scanf(%d,&aij); for(i=0;iN;i+) for(j=0;ji;j+) temp=aij;aij=aji;aji=temp; for(i=0;iN;i+) fo
10、r(j=0;jN;j+) printf(%8d,aij); printf(n); 第6章_数组ppt课件(全)【例【例6.6】有一个】有一个34的矩阵,要求编程序求出其中值的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。最大的那个元素的值,以及其所在的行号和列号。分析:分析: int a34,max, row,colum,i,j;对数组对数组a输入数据;输入数据; max=a00; row=0; colum=0; 对所有对所有i,j,如果,如果maxaij, 则则 max=aij; row=i; colum=j;第6章_数组ppt课件(全)main() int i,j,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 课件
限制150内