第四章 数 组综述.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ⒊ 查 找 查找是在一组数中,寻找一个特定的数,并显示结果。 ⑴顺序查找 顺序查找算法:构造循环,使循环的变量遍历数组每个元素的 下标。循环的过程中让特定的数和每个元素比较,相等则表示找到 该数,并输出其下标(位置)。 程序设计中标志的设置和应用: 在程序设计中,经常要记录一些状态,作为判断的条件。因此 需要在程序中设置一些标志,通常标志是整型变量。 如查找问题,可以先设置一个整型变量iFlag=0表示没有找到, 在查找的过程中一旦找到后,将iFlag赋值为1,结束查找后,可以 由iFlag值所代表的逻辑状态,确定是否已找到特定的数。 标志设置框图 int iFlag; iFlag=0; 是否找到? iFlag=1; yes no 顺序查找程序 #include stdio.h void main(void) { int i,iSel,iFlag,a[10]={4,3,5,1,10,12,2,6,7,9}; iFlag=0; scanf(“%d”,iSel); for(i=0;i10;i++) if(iSel==a[i]) { iFlag=1; printf(“The position is %d\n”,i); } if (iFlag ==1) printf(“Found! %d”,); else printf(“Not found!); } 设置标志为没找到。 循环遍历所有元素 比较设置标志输出位置。 chp4ex7 ⑵折半查找——适用于在有序数组中查找 在一个有序的一维数组中查找某一个数。已知某数组按升序排 列,给定一个数,找出该数在数组中的位置。 可以通过将区间折半,快速缩小查找区间,提高效率! 折半查找算法演示 折半查找程序 #include stdio.h void main(void) { int iTop,iBot,iMid,iSel,iFlag,a[10]={1,2,3,5,6,8,9,10,11,12}; iFlag=0; iTop=0; iBot=9; scanf(“%d”,iSel); do{ iMid=(iTop+iBot)/2; if(iSel==a[iMid]) {iFlag=1; printf(“iS has be found : a[%d]”,iMid);} else if(iSela[iMid]) iBot=iMid-1; else iTop=iMid+1; }while(iTop=iBotiFlag==0); if(iFlag==0) printf(“Not found!\n”); } 初始化查找标志及顶、底。 查找循环 折半。 找到。 没找到,调整iTop或iBot chp4ex8 专题二、字符数组 ⑴统计字符串中的各元音字母的个数 #include stdio.h void main(void) { char str[80],ch[6]={‘a’,’e’,’i’,’o’,’u’,’\0’}; int i,iCount[5]={0,0,0,0,0}; gets(str); for(i=0;str[i]!=‘\0’;i++) { switch(str[i]) { case ‘a’: case ‘A’: iCount[0]++;break; case ‘e’: case ‘E’: iCount[1]++;break; case ‘i’ : case ‘ I’: iCount[2]++;break; case ‘o’

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档