文档详情

c语言课件第七章数组7.ppt

发布:2017-04-14约字共54页下载文档
文本预览下载声明
第七章 数 组(The Array);先看一个例子:; t=(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10)/10; if( w1 t ) printf( %d\n, w1 ); if( w2 t ) printf( %d\n, w2 ); if( w3 t ) printf( %d\n, w3 ); if( w4 t ) printf( % d\n, w4 ); if( w5 t ) printf( %d\n, w5 ); if( w6 t ) printf( %d\n, w6 ); if( w7 t ) printf( %d\n, w7 ); if( w8 t ) printf( %d\n, w8 ); if( w9 t ) printf( %d\n, w9 ); if( w10 t ) printf( %d\n, w10 ); };用数组来解决问题: main() { int w[10]; /* 定义 1 个整型数组存放体重 */ int t, i; for( i=0; i10; i++ ) scanf( %d, w[i] ); for( t=0; i=0; i10; i++ ) t = t + w[i]; t = t/10; for( i=0; i10; i++ ) if( w[i] t ) printf( %d\n, w[i] ); };数组及其相关概念; 每个数组都有一个名字,称之为数组名。 为标识数组中的每个元素,需要???它们进行编号,称为数组元素的下标。;7.1 一维数组的定义和引用 (One Dimension Array);说明:;二、一维数组的初始化;说明:;2 .使用其它方法初始化;三、一维数组的引用;⑵ 数组元素的下标是从0开始的。 如果定义了a[n],则可使用a[0]、a[1]、…、a[n-1]。但是,不能使用a[n]。 C语言编译系统不检查数组下标越界的错误,在编程的时候要注意避免这种错误。;⑶ 数组元素的赋值是逐个元素进行的,不允许把一个数组作为一个整体赋给另一个数组。除了数组初始化外,也不允许用在花括号中列表的方式对数组整体赋值。;四、一维数组应用举例;例7.2:用数组来处理求斐波纳契数列: 1,1,2,3,5,8…的前20个数。;例7.3:用冒泡法对n=6个数排序(由小到大)。;main() { int a[7], i , j , t ; printf(Input 6 numbers : \n); for(i=1 ; i7 ; i++) scanf(%d,a[i]); printf(\n); for(j=1 ; j=5 ; j++) /* 控制5轮排序 */ for(i=1 ; i=6-j ; i++) /* 每轮排序比较次数*/ if(a[i]a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } for(i=1 ; i=6 ; i++) printf(%d,a[i]); };main() { int a[6], i , j , t ; printf(Input 6 numbers : \n); for(i=0 ; i6 ; i++) scanf(%d,a[i]); printf(\n); for(j=0 ; j=4 ; j++) /* 控制5轮排序 */ for(i=0 ; i5-j ; i++) /* 每轮排序比较次数*/ if(a[i]a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } for(i=0 ; i=5 ; i++) printf(%d,a[i]); };7.2 二维数组的定义和引用;一、二维数组的定义;说明:;二、二维数组的初始化;说明:;三、二维数组的引用;例如:若有 int a[3][4], 设a的首地址为2000,则a[i][j]的地址为2000+i*3+j*4; a[0][0]的地址为2000,与a相同。 (2)二维乃至多维数组是若干个比其低一维的数组的集合。换句话说,二维乃至多维数组可以化成多个降低维数后的数组使用。 例如:若有 int a[
显示全部
相似文档