c语言实验报告、折半查找数

上传人:平*** 文档编号:12688632 上传时间:2017-10-20 格式:DOC 页数:6 大小:102.50KB
返回 下载 相关 举报
c语言实验报告、折半查找数_第1页
第1页 / 共6页
c语言实验报告、折半查找数_第2页
第2页 / 共6页
c语言实验报告、折半查找数_第3页
第3页 / 共6页
c语言实验报告、折半查找数_第4页
第4页 / 共6页
c语言实验报告、折半查找数_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《c语言实验报告、折半查找数》由会员分享,可在线阅读,更多相关《c语言实验报告、折半查找数(6页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计实验报告实验名称 数组学 院 材料与冶金学院 专业班级 新能源科学与工程姓 名 汪爽 学 号 20110558任课教师 柳秀梅 实验时间 2012年10月13日1 实验目的1.熟练掌握一维数组、二维数组的定义、初始化和输入/输出方法;2. 熟练掌握字符数组和字符串函数的使用;3. 掌握与数组有关的常用算法(如查找、排序) 。2 实验内容编程实现“折半查找”的过程。要求1. 设定一个整型数组存放20个元素,采用直接赋值的方法在程序之初始化该数组;2. 用scanf函数输入一个要找的数值;3. 对查找的结果给出相应的说明,如果找到该数值,则输出“Found”信息,并给出该数是数组中的

2、第几个元素。如果该数值不在数组中,则输出“Not found”信息;4. 修改程序,设定输入的数据是无序的,则先要对这些无序的数据进行排序,然后在采用“半折查找” 。3 算法描述流程图YYYYY开 始a20=2,1,4,5,7,3,6,9,10,8,14,15,12,19,20,17,18,11,13,16 ,b,q,d,i, ,min=0n,m,p=10,c,s=10最大数和最小数的序数 max=19nai?将最小的数赋给 anq9?b 是要找的数吗 b=as?bas?b 在前面 c=s; s=(max-min)/2+min;max=c;将区间缩小,取中点b 在后面 c=s; s=max-(

3、max-min)/2min=c;将区间小,取中点输出 Found 位置num=s+1输出 Not found结束Yq=q+14 源程序#include#includevoid main()int a20= 2,1,4,5,7,3,6,9,10,8,14,15,12,19,20,17,18,11,13,16,b,q,d,i,max=19,min=0,n,m,p=10,c,s=10;for(n=0;nai)m=an;an=ai;ai=m;printf(%d ,an);printf(请输入要查找的数);scanf(%d,&b);for(q=1;qas)c=s;s=max-(max-min)/2;mi

4、n=c;d=0;elsec=s;s=(max-min)/2+min;max=c;d=0; if(d=1)s=s+1;printf(Found Num=%dn,s);elseprintf(not foundn);5 测试数据测试数据为5,236 运行结果当输入数值为 3 时 当输入数值为 87 时7 出现问题及解决方法1.本实验需要对数组排序因此采用循环for(n=0;nai)m=an;an=ai;ai=m;printf(%d ,an);从而将数组排序,并输出顺序数组。2.实验需要半折找数因此采用循环for(q=1;qas)c=s;s=max-(max-min)/2;min=c;d=0;elsec=s;s=(max-min)/2+min;max=c;d=0;从而找到数组中是否有要找的数,是则d=1,不是则d=0.8 实验心得1.通过实验我对 c 语言的编程语言更加熟悉,加快编程输入语言的速度。2.掌握一维数组、二维数组的定义、初始化和输入/输出方法;掌握字符数组和字符串函数的使用;掌握与数组有关的常用算法(如查找、排序) 。3.再次让我明白做实验时要细心,认真检查。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号