第5章-数组题材.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数组;5.1 一维数组 ;5.1 一维数组 ;5.1 一维数组 ;5.1 一维数组 ;5.1 一维数组 ;5.1 一维数组 ;5.1 一维数组 ;总结1 若有: int a[10]; int *p; p=a; 则表示a数组的第i个元素有下列4种方法: a[i] *(a+i) p[i] *(p+i);总结2 若有: int a[10]; int *p; p=a; 则: a 的值为数组第0个元素的地址,即a[0] a 的值为整个数组的开始地址,与a的值相等,但含义不同 a[i] 的值为数组第i个元素的地址 a+i 与 a[i] 的意义相同,值也相同 ;5.1 一维数组 ;5.1 一维数组 ;5.1.4 程序举例 【例5.7】从键盘上输入10个整数存入数组,求出该数组的最大值及最大值的下标并输出。;5.1.4 程序举例 【例5.7】从键盘上输入10个整数存入数组,求出该数组的最大值及最大值的下标并输出。;5.1.4 程序举例 【例5.7】从键盘上输入10个整数存入数组,求出该数组的最大值及最大值的下标并输出。;【应用案例】输入10个成绩模拟评委打分,去掉一个最高分,去掉一个最低分,求出其余成绩的平均分,作为选手最后得分;【应用案例】输入10个成绩模拟10位选手的最后得分,输出各位选手的名次。;【应用案例】输入10个成绩模拟10位选手的最后得分,输出各位选手的名次。;【应用案例】求裴波那契数列的前12项存入数组a中,并输出。;【应用案例,习题1】用筛选法求100以内的素数并输出。;【应用案例,习题1】用筛选法求100以内的素数并输出。;【实验作业】输入10个整数存入一维数组,查找指定数是否存在。;【实验作业】输入一串英文字母,统计每个字母(不区分大小写)出现的次数。例如: 输入:Good 输出:D:1个 G:1个 O:2个;【实验作业】输入一个数据,统计其中各类数字出现的次数。例如: 输入:1231.05 输出:0:1个 1:2个 2:1个 3:1个 5:1个;【实验作业】输入10个数据,删除掉重复数后输出。;【实验作业】输入10个数据,删除掉重复数后输出。 输入:1 2 1 4 5 1 2 6 3 1 输出:1 2 4 5 6 3;第0步: a[0]与a[1]比较,若a[0]a[1]则两者交换,否则不交换 a[1]与a[2]比较,若a[1]a[2]则两者交换,否则不交换 依次类推,直到a[8]与a[9]比较后,a[9]中是最大数;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; } ;选择排序法 第0步:a[0]分别与a[1]、 a[2]、…… a[j] …… a[9]比较,若a[0]a[j] ,则两者交换。这样a[0]中是最小数。 第1步:a[1]分别与a[2]、a[3]、……a[j]……a[9]比较,若a[1]a[j],则两者交换。这样a[1]中是第二小的数。 …… 第8步:a[8]与a[9]比较,若a[8]a[9],则两者交换。这样a[9]是最大数。 ;for(i=0; iN-1; i++) for(j=i+1; jN; j++) if(a[i] a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } ;实验16.1.4 插入排序法 算法思想: 首先将a[0]作为一个已排好序的子数列,然后依次将a[1]、 a[2]、…… 、a[i]、 …… a[9]插入到已排序的的子数列中。 插入a[i]的步骤如下: (1)将a[i]的值保存到变量t中 (2)寻找a[i]的插入位置k:若a[i]a[0],则k=0,否则将a[i]依次与a[0]、a[1]、…a[j]…、a[i-1]比较,若a[i]=a[j],则使k=j+1 (3)为a[i]腾出位置:依次将a[i-1]→a[i]、a[i-2]→a[i-1] ……、 a[k]→a[k+1] (4)将变量t的值送到a[k]中; for(i=1;i=N-1;i++) { (1)将a[i]保存到t中 (2)寻找插入位置k (3)为a[i]腾出位置 (4)将t保存到a[k]中 };5.2.1 多维数组的定义 int a[4][3]; ;例5.11 int a[3][4]; ;;;;5

您可能关注的文档

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档