第7章第1节 第六章数组 请数组及数组元素的概念 1数组—具有相同性质的一组数据的有序集合。如: 英语成绩:E[,E[2],…,E|40 E[(i=1,2,,40表示学号) 计算机成绩:C[l,C[2],…,C|40 C[i(i=1,2,,40表示学号) 2.数组元素数组中的每一项数据。 如:E3]表示第3号学生的英语成绩 下标 元素越多,数组越大
第7章 第1节 1.数组——具有相同性质的一组数据的有序集合。如: 英语成绩: E[1], E[2], .... E[40] E[i] (i=1,2,...,40 表示学号) 计算机成绩: C[1], C[2], .... C[40] C[i] (i=1,2,...,40 表示学号) 2. 数组元素——数组中的每一项数据。 如: E[3] 表示第3号学生的英语成绩 下标 元素越多,数组越大 **数组及数组元素的概念
3.数组的维数下标的项数 Ei(i=1,2,,40表示学号丹 维数组 score[ illil(i=1,2,,40;j=1,2,3)二维数组 如:i学号;j学科号(1-英语,2-数学,3物理) 则: score3[23号学生的数学成绩
3. 数组的维数——下标的项数 E[i] (i=1,2,...,40 表示学号)}———一维数组 score[i][j] (i=1,2,...,40; j=1,2,3)———二 维数组 如:i—学号;j—学科号(1-英语,2-数学,3-物理) 则:score[3][2]——3号学生的数学成绩
第7章第1节 §71一维数组的定义与使用 维数组的定义 1形式 类型说明符数组名[常量表达式 int long char 与变量表示元素的个数 foat等 名相同 (从0开始编号) 如:定义 float a[10 即:a0l,a1,a2],…,a9 注意: 类型说明符数组名常量表达式 1.常为整形,或字符型 2.不能含有变量 main( dint n; 解决:根据实际情况,选一个稍大的数 scant(“%d”,&n); main() floatel叫; floate 60;
第7章 第1节 §7.1 一维数组的定义与使用 一. 一维数组的定义 int long char float等 与变量 名相同 表示元素的个数 (从0开始编号) 如:定义 float a[10]; 即:a[0], a[1], a[2], ... , a[9] **注意: 类型说明符 数组名[常量表达式] 1. 常为整形,或字符型 2. 不能含有变量 main( ) { int n; scanf(“%d”,&n); float e[n]; ...... 解决:根据实际情况,选一个稍大的数 main( ) {float e[60]; ...... 1.形式 类型说明符 数组名[常量表达式]
第7章第1节 维数组元素的引用 原则1)不能一次引用整个数组,只能引用数组元素。引用多个 数组元素时,常借助于循环。 2)数组元素的使用与一般的变量相似。 3)数组元素的引用形式: 数组名[下标] 整形常量或整形表达式 例1P141习题75 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要 求改为1,4,5,6,8 解:a0ala2a|3a|4 a[0]a[]a[2]a[3]a[4]a[5]
二 . 一维数组元素的引用 1) 不能一次引用整个数组, 只能引用数组元素 。引用多个 数组元素时,常借助于循环。 2) 数组元素的使用与一般的变量相似。 3) 数组元素的引用形式: 数组名[下标 ] 第7章 第1节 整形常量或整形表达式 例1 P141 习题7.5 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要 求改为1, 4, 5, 6, 8。 解: a[0] a[1] a[2] a[3] a[4] 1 4 5 6 8 a[0] a[1] a[2] a[3] a[4] a[5] 原则
第7章第1节 法 法二:借助于另一个数组作缓冲 main( main( fint a[10],i, j, t; fint a[ 10, b[10,i,j, t; printf("input datd\n”); printf(“ input datd\n”); for(i=0;i<=9;i++ for(1=0;i=9;i++) print(“a%山=“,i); printf(“al%d=“,j): scanf(“%od”,&a[i); scanf(“%d”,&a[i); for(i=0,j=9;i-j;i++,j-) for(i=0;i<=9;i++) tt=ai b9-i=aiJ ai=ajl: for(i=0;i<=9;i++) aj=t for(i=0;i<=9;i++) for(i=0;i<=9;i++) print“a%d=%d“,ial[iD); printf(“a%山=%d“,i,al[i)
第7章 第1节 法一: main( ) {int a[10],i,j,t; printf(“input datd\n”); for (i=0; i<=9; i++) {printf(“a[%d]=“,i); scanf(“%d”,&a[i]); } for(i=0,j=9; i<j; i++,j--) {t=a[i]; a[i]=a[j]; a[j]=t;} for(i=0;i<=9;i++) printf(“a[%d]=%d“,i,a[i]); } 法二:借助于另一个数组作缓冲 main( ) {int a[10],b[10],i,j,t; printf(“input datd\n”); for (i=0; i<=9; i++) {printf(“a[%d]=“,i); scanf(“%d”,&a[i]); } for(i=0; i<=9; i++) b[9-i]=a[i]; for(i=0; i<=9; i++) a[i]=b[i]; for(i=0;i<=9;i++) printf(“a[%d]=%d “,i,a[i]); }