当前位置:   article > 正文

用C语言实现折半查找实验报告,c语言实验报告、折半查找数.doc

c语言折半搜索实验报告

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

C语言程序设计实验报告

实验名称数组学 院材料与冶金学院专业班级新能源科学与工程姓 名汪爽学 号任课教师柳秀梅实验时间2012年10月13日

实验目的

熟练掌握一维数组、二维数组的定义、初始化和输入/输出方法;

熟练掌握字符数组和字符串函数的使用;

掌握与数组有关的常用算法(如查找、排序)。

实验内容

编程实现“折半查找”的过程。

要求

设定一个整型数组存放20个元素,采用直接赋值的方法在程序之初始化该数组;

用scanf函数输入一个要找的数值;

对查找的结果给出相应的说明,如果找到该数值,则输出“Found”信息,并给出该数是数组中的第几个元素。如果该数值不在数组中,则输出“Not found”信息;

修改程序,设定输入的数据是无序的,则先要对这些无序的数据进行排序,然后在采用“半折查找”。

算法描述流程图

源程序

#include

#include

void main()

{

int a[20]={ 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;n<=19;n++)

{

for(i=n;i<=19;i++)

{

if(a[n]>a[i])

{

m=a[n];

a[n]=a[i];

a[i]=m;

}

}

printf("%d ",a[n]);

}

printf("请输入要查找的数");

scanf("%d",&b);

for(q=1;q<=10;q++)

{

if(max-min!=0)

{

if(b==a[s])

{

d=1;

break;

}

else

{

if(b>a[s])

{

c=s;

s=max-(max-min)/2;

min=c;

d=0;

}

else

c=s;

s=(max-min)/2+min;

max=c;

d=0;

}

}

}

if(d==1)

{

s=s+1;

printf("Found Num=%d\n",s);

}

else

printf("not found\n");

}

测试数据

测试数据为5,23

运行结果

当输入数值为3时

当输入数值为87时

出现问题及解决方法

本实验需要对数组排序因此采用循环

for(n=0;n<=19;n++)

{

for(i=n;i<=19;i++)

{

if(a[n]>a[i])

{

m=a[n];

a[n]=a[i];

a[i]=m;

}

}

printf("%d ",a[n]);

}

从而将数组排序,并输出顺序数组。

2.实验需要半折找数因此采用循环

for(q=1;q<=10;q++)

{

if(max-min!=0)

{

if(b==a[s])

{

d=1;

break;

}

else

{

if(b>a[s])

{

c=s;

s=max-(max-min)/2;

min=c;

d=0;

}

else

c=s;

s=(max-min)/2+min;

max=c;

d=0;

}

}

}

从而找到数组中是否有要找的数,是则d=1,不是则d=0.

实验心得

1.通过实验我对c语言的编程语言更加熟悉,加快编程输入语言的速度。

2.掌握一维数组、二维数组的定义、初始化和输入/输出方法;掌握字符数组和字符串函数的使用;掌握与数组有关的常用算法(如查找、排序)。

3.再次让我明白做实验时要细心,认真检查。

to prevent the accumulation of air, both ends of the tube are required the Center to bake. 6.2.5 sets should be at the bottom 200mm lashing cable head is fixed rung, with a similar cable color of plastic lashings. Cable head using "equal-width stacked" layout, or according to

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/807585
推荐阅读
相关标签
  

闽ICP备14008679号