c语言搜索函数 C语言搜索函数

C语言如何用函数来实现搜索

#include stdio.h

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的驻马店网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

int search(int a[],int b,int c,int i)

{

int x,y,z;

x=i+1;

z=b-1;

y=(x+z)/2;

while(x=z)

{

if(a[y]c)

{

z=y-1;

y=(x+z)/2;

continue;

}

if(a[y]c)

{

x=y+1;

y=(x+z)/2;

continue;

}

return y+1;

}

return -1;

}

int main()

{

int i,m,pos;

scanf("%d",m);

int a[m];

for(i=0;im;i++)

{

scanf("%d",a[i]);

}

for(i=0;im;i++)

{

pos=search(a,m,a[i],i);

if(pos!=-1)

{

printf("FOUND a[%d]=%d, position is %d\n",i,a[i],i+1);

return 0;

}

}

if(pos==-1)

{

printf("NOT FOUND\n");

}

return 0;

}

这种查找方法的数组必须是从小到大的,用遍历的话就没这个问题了。

C语言数组的查找函数

#includestdio.h

int main()

{

int a[5];

int i,max,min;

printf("input number:\n");

for(i=0;i5;i++)

scanf("%d",a[i]);

max=a[0];

min=a[0];

for(i=0;i5;i++){

if(a[i]max)

max=a[i];

}

for(i=0;i5;i++){

if(a[i]min)

min=a[i];

}

for(i=0;i5;i++){

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

printf(" ");

}

printf("\n");

printf("最大值为%d\n",max);

printf("最小值为%d\n",min);

return 0;

}

C语言查找函数

首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。

其次,传值和传地址一塌糊涂,完全就是乱写么。

scanf的第二个参数是地址,如果本身不是指针则需要取址符。

我给你重写了算了

#includestdio.h

int Retrieve(int array[],int length,int x);/*形参x直接传值就可以了*/

int main()

{

int *a,x;

int length,i;

scanf("%d",length);

a = (int)malloc(sizeof(int)*length); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/


网站栏目:c语言搜索函数 C语言搜索函数
文章源于:http://ybzwz.com/article/dojhhis.html