文档详情

C++第四章-数组和指针.ppt

发布:2017-12-03约1.14万字共46页下载文档
文本预览下载声明
第四章 数组和指针 4.1 一维数组 4.2 二维数组 4.3 字符串 4.4 指针和数组 4.5 程序举例 4.1 一维数组 4.1.3 数组元素的引用和基本操作 1.数组元素的引用 形式:数组名[下标] 相当于一个普通变量 4.1.4 数组排序 4.2 二维数组 4.2.1 二维数组的定义和初始化 1. 数组的定义 形式: 数据类型 数组名[常量表达式1][常量表达式2]; 如: float a[2][3]; 4.2.2 二维数组的基本操作 4.3 字符数组 4.4 指针和数组 4.4.3 指针和字符串 可通过字符指针来访问字符数组,二者的区别: 4.5 程序举例 【例4.15】输入一串字符存储在字符数组中,用指针方式逐一显示字符,并求其长度。 #include iostream.h #include stdio.h void main() { char s[80],*p; gets(s); p=s; //p指向数组的第一个元素 cout输出每个字符:; while(*p!=\0) cout*p++ ; //指针下移,直到p指向字符串结束符 cout\n 字符串长度 : p-sendl; } #include stdio.h #include iostream.h void main( ) { char s[20],*p=s; gets(p); while(*p!=\0) {if(*p=a *p=z) *p=*p+A-a; p++; } puts(s); //或 coutp; } 【例4.16】将字符串中的小写转大写 插入数据 基本思想: 1)首先要查找待插入数据在数组中的位置k; 2)然后从最后一个元素开始往前直到下标为k的元素依次往后移动一个位置; 3) 第k个元素的位置空出,将欲插入的数据插入。 【例4.17】在有序数组a中插入数值x for(k=0;k9;k++) if (xa[k]) break; // 找到插入的位置下标为k for(i=8;i=k;i--)____________; //从最后元素开始往后移,腾出位置 a[k] = x; a[i + 1] = a[i] #include iostream.h void main() { int a[100],i, k,n,key; _______________ for(i=0;in;i++) {a[i] =i * 3+1; couta[i] ;} coutendl; for(k=0;kn;k++) if (keya[k]) break; // 找到插入的位置下标为k for(i=n-1; ________ ;i--) //从最后元素开始往后移,腾出位置 a[i + 1] = a[i]; a[k] = key; //数插入 for(i = 0;______;i++) // 输出 couta[i] ; coutendl; } cinnkey; i=k i=n #include iostream.h #include string.h #include stdio.h void main() { char a[100],key; int i, n,k; _____________ n=strlen(a); for(k=0; a[k]!=\0;k++) if (keya[k]) break; // 找到插入的位置下标为k for(i=n-1;i=k;i--) a[i + 1] = a[i]; a[k] = key; //数插入 ____________; puts(a); } cinakey; a[n+1]=\0 * 4.1.1 引例: 【例4.1】求100个学生的平均成绩,并统计高于平均分的人数 。 用以前所学知识实现: int k=0;float s,ave,sum=0; for(int i=0;i100;i++) { cins; sum=sum+s; } ave=sum/100; for(i=0;i100;i++)
显示全部
相似文档