文档详情

C语言程序设计教程-第5章数组.pptx

发布:2019-08-03约2.92千字共119页下载文档
文本预览下载声明
1;;;4;问题引导;6;基本概念;5.1 一维数组;数组的特征;一维数组的定义;一维数组的定义;一维数组的定义;一维数组的定义;一维数组的注意事项;一维数组的存储结构;char型数组str的存储结构示意图 char str[5]={‘H’,’e’,’l’,’l’,’o’};;一维数组元素的引用;数组元素的引用 ;一维数组元素的引用;数组的初始化;数组的初始化;数组的初始化;5.1.3数组的初始化;数组的初始化;利用数组解决问题;;例5.6:已知数组a中有n个互不相等的元素,数组b中有 m(mn) 个互不相等的元素,而数组c中包含那些在a中但不在b中的元素,编程产生数组c(产生新数组) ;#includestdio.h #define N 8 #define M 5 int main( ) { int i,j,k=0,a[N],b[M],c[N]; for(i=0;iN;i++) scanf(%d,a[i]); for(i=0;iM;i++) scanf(%d,b[i]); for(i=0;iN;i++) { for(j=0;jM;j++) if(a[i]==b[ j]) break; if(j=M) { c[k]=a[i];k++;} } for(i=0;ik;i++) printf(%5d,c[i]); printf(\n); };;;#include stdio.h #define N 10 int main() { int a[N],i,j,t; for(i=0;iN;i++) scanf(%d,a[i]); printf(\n); for(i=0;iN-1;i++) for(j=0;jN-i-1;j++) if(a[j]a[j+1]) {t=a[j]; a[j]=a[j+1]; a[j+1]=t;} printf(The sorted numbers:\n); for(i=0;iN;i++) printf(%d ,a[i]); return 0; };思考;利用数组解决问题;;思考;;37;向函数传递一维数组;数组元素作为函数的参数;数组元素作为函数的参数;数组名作为函数参数;2 数组参数;;2 数组参数;;;;一维数组应用;一维数组应用;;;52;;#include stdio.h #define M 5 #define N 4 void sort(int x[],int); void merge(int a[],int b[],int c[],int,int); int main(){ int j; int a[M] = { 98,64,75,91,55 }; int b[N] = { 90,58,84,61}; int c[M+N]; printf(a数组排序前:\n); for(j=0;jM;j++) printf(%5d,a[j]); printf(\n); printf(b数组排序前:\n); for(j=0;jN;j++) printf(%5d,b[j]); printf(\n); ;;补充:校门外的树;57;58;对于 double a[3][2]; 逻辑结构 物理结构 ;二维数组的初始化 分行赋值 float a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; 顺序赋值 float a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 部分赋值:其他为0 float a[3][4]={{1},{},{9}}; 全部赋值:一维长度可以省略 float a[ ][3]={1,0,3,4,0,0,0,8,0};;61;5.2.2二维数组的初始化;5.2.3二维数组应用;;;5.2.3二维数组应用;67;68;69; 1 0 0 0 0 0 1 3 1 0 0 0 1 4 3 3 1 0 1 4 4 3 3 3 1 4 4 4 3 3 1
显示全部
相似文档