C语言程序设计教程-第5章数组.pptx
文本预览下载声明
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
显示全部