欢迎来到天天文库
浏览记录
ID:21296507
大小:636.50 KB
页数:118页
时间:2018-10-21
《第七章数组和指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章数组和指针数组:是按一定格式排列起来的一系列具有同一属性的项目。例如:向量、矩阵、立体矩阵等。a11a12a13a21a22a23a31a32a33数组名:表示群体的共性(具有同一种数据类型)下标:表示个体的个性(各自占有独立的单元)7.1数组及数组元素7.1.1一维数组一维数组的定义方式:类型说明符数组名[常量表达式];数组名遵循标识符命名规则常量表达式表示元素的个数,即数组长度。例如:inta[10];数组元素的表示形式:数组名[下标]其中,下标:是整型常量或整型表达式。对于任何数组,下标都从0开始。[例7.1]用气泡
2、法完成对10个数从小到大排序。第一趟扫描找到了最小的数存入a[0],其过程如下:a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a[10]453126978045312690784531269708453126097845312690784531269708453126097845312069784531206978453102697845310269784530126978453012697845031269784503126978405312697840531269780453126978a[0]第二趟
3、扫描找到第二小的数存入a[2],直到第九趟扫描,便可找到最大的数存入a[10],其过程如下:a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a[10]01453267980124536789012345678901234567890123456789012345678901234567890123456789a[1]1a[2]2a[3]3a[4]4a[5]5a[6]6a[7]7a[8]8a[9]main(){inta[11],i,j,t;printf(“inputtennumbers:”);for
4、(i=1;i<11;i++)scanf(“%d”,&a[i]);printf(“”);for(i=1;i<10;i++)for(j=10;j>i;j--)if(a[j-1]>a[j]){t=a[j];a[j]=a[j-1];a[j-1]=t;}printf(“thesortednumbers:”);for(i=0;i<11;i++)printf(“%d”,a[i]);}7.1.1一维数组上述程序有许多值得改进的地方。(1)在9趟由底向上的扫描中,可能最后几趟已无任何交换发生,程序应能做到,一旦发现某趟扫描
5、中无任何交换时就会终止;(2)在每趟扫描中,上趟扫描中最后一次交换的位置k是至关重要的,因为当j6、YNk=jt=a[k];a[k]=a[i];a[i]=t;共比9轮记住该换的位置寻找第k小的数a[j]7.1.2二维数组二维数组的一般定义形式为:类型说明符数组名[常量表达式][常量表达式];例如:floata[3][4];二维数组元素的表示形式为:数组名[下标1][下标2]下标1:称为行下标/下标2:称为列下标a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3][例7.2]将4×4的矩阵转置并输出。main(7、){floata[4][4],t;inti,jfor(i=0;i<4;i++)for(j=0;j<4;j++)scanf(“%f”,&a[i][j]);for(i=1;i<4;i++)for(j=0;j8、13.23.30.01.02.03.00.11.12.13.10.21.22.23.20.31.32.33.37.1.3多维数组多维数组:多于二维的数组。多维数组的定义、数组元素的引用:与二维数组类似,只是需要相应维数的下标。例如:intcub
6、YNk=jt=a[k];a[k]=a[i];a[i]=t;共比9轮记住该换的位置寻找第k小的数a[j]7.1.2二维数组二维数组的一般定义形式为:类型说明符数组名[常量表达式][常量表达式];例如:floata[3][4];二维数组元素的表示形式为:数组名[下标1][下标2]下标1:称为行下标/下标2:称为列下标a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3][例7.2]将4×4的矩阵转置并输出。main(
7、){floata[4][4],t;inti,jfor(i=0;i<4;i++)for(j=0;j<4;j++)scanf(“%f”,&a[i][j]);for(i=1;i<4;i++)for(j=0;j
8、13.23.30.01.02.03.00.11.12.13.10.21.22.23.20.31.32.33.37.1.3多维数组多维数组:多于二维的数组。多维数组的定义、数组元素的引用:与二维数组类似,只是需要相应维数的下标。例如:intcub
此文档下载收益归作者所有