- 1、本文档共79页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 数组 4.1 一维数组 4.2 二维数组 4.3 字符串 4.4 指针和数组 4.5 程序举例 问题:下面的数据该怎么存放与处理? 某班学生的计算机课程考试成绩 2. 基因表达数据 3. 病人的症状 4.1.2 数组元素的引用和基本操作 1.数组元素的引用 形式:数组名[下标] 相当于一个普通变量 例:随机产生10个100以内的数,存放于一维数组中,求这10个数的平均值,最大(小)值,将最大(小)元素交换到第一个。 #include iostream.h“ #include stdlib.h“ #include time.h“ void main() {int a[10],max,imax,avg,I,t; srand(time(NULL)); for (i=0;i10;i++) {a[i]=rand()%100;} for(i=0;i10;i++) couta[i] ; coutendl; max=a[0];imax=0; avg=a[0]; for(i=1;i10;a++) {avg=avg+a[i]; if (a[i]max) { max=a[i];imax=i;}} avg=avg/10; t=a[0];a[0]=a[imax];a[imax]=t; For(i=0;i10;i++) couta[i] ; coutendl;} 例:fibonacci 显示fibonacci数列的前20项,纵列对齐 #include iostream.h #include iomanip.h void main() { long x[20]={1,1}; int i; for (i=2;i20;i++) x[i]=x[i-1]+x[i-2]; for (i=0;i20;i++) { if (i%5==0) coutendl; //coutsetw(10)x[i]; coutx[i]\t; } coutendl; } 例:数据移位-1 #include iostream.h #include iomanip.h #include time.h #include stdlib.h #define N 10 void main() {int a[N],i,j,t; srand(time(NULL)); cout移位前:endl; for (i=0;iN;i++) { a[i]=rand()%100; coutsetw(5)a[i]; } coutendl; for(i=1;i=3;i++) { t=a[N-1]; for(j=N-1;j0;j--) a[j]=a[j-1]; a[0]=t; } cout移位后:endl; for (j=0;jN;j++) coutsetw(5)a[j]; coutendl; } 数据移位-2 #include iostream.h #include iomanip.h void main() {int a[8],i,j,t; for (i=1;i8;i++) { a[i]=i; coutsetw(5)a[i]; } coutendl; for(i=1;i=7;i++) {t=a[7]; for(j=7;j1;j--) a[j]=a[j-1]; a[1]=t; for (j=1;j8;j++) coutsetw(5)a[j]; coutendl; } } 基本操作(续) 4.1.3 数组排序 4.1.4查找 1 顺序查找: 适用于无序序列,按顺序逐一比对 例:输入一个数x,查找它是否在数列中,如在,输出是第几个数。 4.2 二维数组4.2.1 二维数组的定义和初始化 1. 数组的定义 形式: 数据类型 数组名[常量表达式1][常量表达式2]; 如: float a[2][3]; 4.2.2 二维数组的基本操作 二维数组使用例-最短路径问题 求从A点到B点的最短路径有多少条? 建模 黄线和绿线上点,走法均为1 其他点,走法为其左方点和下方点走法之和 所有点可用一个矩阵表示 算法 (1)将矩阵个元素初始化为0 (2)令矩阵第一行均为1,即a[0,j]=1,j=0 to 6 (3)令矩阵第一列均为1,即a[i,0]=1,i=0 to 5 (4) 从第1列至第6列的每一列j, 计算该列各行上对应的元素a[i][j]的值,i=1 to 5,即 a[i][j]=a[i-1][j]+a[i][j-1] (5) 输出最后的元素a
文档评论(0)