《数组及其应用》PPT课件.ppt_第1页
《数组及其应用》PPT课件.ppt_第2页
《数组及其应用》PPT课件.ppt_第3页
《数组及其应用》PPT课件.ppt_第4页
《数组及其应用》PPT课件.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,第6章 数组及其应用,6.1 数组的概念 下标变量的集合。 一维数组、二维数组、和多维数组以及字符串数组及在计算机内存中排列方法。 6.2 数组的定义及初始化(一维和多维) static int a10, b200=1,2,3,4,5; static float d56=1,2,3,4,5,0,2,3; int k333;,说明: static 定义为静态数组,地址固定; auto 定义动态数组,不用就撤消。 static 可以初始化数组,不给数值时,元素自动置0。 数组名的起法与变量名字起法相同。 数组名字与变量名字不能相同。 数组元素从0 开始。(A0),数组又称做数组变量。 数组中的一个单元又称做一个元素,一个元素可以放一个数据。 注意定义数组时的下标和使用数组时下标的区别。 引用数组或给数组赋值时,下标不能越界使用。否则可能引起计算机系统崩溃。 不用static 定义数组时,自动为auto(局部) 无论是局部变量还是局部数组变量,注意未初始化时,其中的值是任意的。,6.3 数组的输入(赋值)、输出和应用 6.3.1 一维数组的应用 例:将一维数组反序放入另一个一维数组。 #include void main() int a10,b10; int i; for(i=0;i10;i+),ai=i*2-1; b10-i-1=ai; for(i=0;i10;i+) cout“A“i“=“ai; cout“ B“i“=“biendl; ,例:将10个数字反序输出。 #include void main() int a10=1,2,3,4,5,6,7,8,9,10; int i; for(i=0;i10;i+) couta9-iendl; ,例:将某一企业12个月的月产值、年总产值和年均产值放入一个一维数组。 #include void main() int a15=0,1,2,3,4,5,6,7,8,9,10,11,12,0; int i; for(i=1;i13;i+) a13+=ai; a14=a13/12; for(i=1;i15;i+) coutaiendl;,例:求数列的前20项:0,1,1,2,4,7, #include void main() static int i, a20=0,1; for(i=2;i20;i+) ai=ai-1+ai-2; a14=a13/12; for(i=0;i15;i+) coutaiendl;,例:从n个评委的打分中找最高分。 #include #define N 10 void main() int aN, i,max=0; for(i=0;iai; for(i=0;iN;i+) if (maxai) max=ai; for(i=1;iN;i+) coutaiendl; coutmax;,例:将n个数字排序,并输出排序后的结果和排序前的数值。,例:统计n个1 到 m-1 中每个数出现的个数。 #include #include “stdlib.h“ #include “iomanip.h“ #define M 10 void main() static int n,aM,i,k; cinn; srand(time(NULL); for(i=0;in;i+) k= rand()/32787.*M; ak=ak+1; for(i=0;iM;i+) coutaiendl; ,6.3.2 二维数组的应用 例:按教室座位输入每人学号,然后再按教室座位的行列输出每人学号。 例:输出杨辉三角形。 例:计算数组a55周边元素值的和。 例:计算数组a55对角线元素值的和。 例:计算数组a55主对角线元素值的和。 例:求矩阵的积。,6.4 字符串 6.4.1 字符串数组的定义及初始化 static char s10=”hello”; static char c10=h,e,l,l,o,0; static char name10=“iraq”,”iran”,“india”,”nepal”,”norway”,”peru” ,”poland”,”spain”,”sudan”,”tunis”;,说明: 定义字符数组时,注意多留一个结束标记0的位置。 初始化时,其中的值是任意的。 6.4.2 字符串数组的输入、输出 例:使用字符串数组输出字符串 例:将字符串赋给字符串数组,6.4.3 字符串函数 strcpy(str1,str2) 将str2拷贝到str1 strcat(str1,str2) 将str2连接到str1 strcmp(str1,str2) str1str2, 其值为正整数 str1=str2, 其值为0 str1str2, 其值为负整数 strlen(str) 测串 str长度 strlwr(str) 将大写字母转换为小写字母 strupr(str) 将小写字母转换为大写字母,说明: 1. 其中str为字符串或者字符数组. 2. 字符串的比较规则 相同为相等 (“ok” =“ok”) 部分相同,长串为大 (“work”Beijing”,6.4.4 字符串数组的应用 例: 将存入字符数组的英文单词输出。 例:将 n个国家名字(单词)排序 #include “iostream.h“ #include “string.h“ void main() int k,j; char name20=“iraq“,“iran“,“india“,“nepal“,“norway“,“peru“ ,“poland“,“spain“,“sudan“,“tunis“;,char d20; for(k=0;k0) strcpy(d,namej); strcpy(namej,namek); strcpy(namek,d); ,for(k=0;k10;k+) coutnamekendl; 例:将n个人的姓名按字典顺序排序。 例:找出n个单词中最长和最短的单词。,例:统计英文句子中L出现的次数。 #include “iostream.h“ void main() char a20; int k,s=0; cina; for(k=0;ak;k+) if (ak=l | ak=L) s+=1; coutaendl; coutsendl; ,6.5 数组元素作为函数参数 例:求5以内的平方,存于一维数组 #include “iostream.h“ #include “iomanip.h“ void main() int a52,k; int s(int x);,for(k=0;k5;k+) ak0=k+1; ak1=s(ak0); coutak0setw(8)ak1endl; int s(int x) return (x*x); ,6.6 数组作为函数的参数 例: 计算四个季度产值和(结果放在每行的第5元素)。 #include void RowSum(int a 5, int nrow) for (int i = 0; i nrow; i+) for(int j = 0; j 4; j+) ai4 += aij; ,void main(void) static int Table35 = 1,2,3,4,2,3,4,5,3,4,5,6; /调用子函数,计算各行和 RowSum(Table,3); /输出数组元素 for (int i = 0; i 3; i+) for (int j = 0; j 5;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论