c语言如何查找数组函数 c语言在数组中查找数值

如何用c语言编写查询数组中的元素

对于数组的查询,其实就是对数组中数据做一个遍历。

创新互联成立于2013年,先为公安等服务建站,公安等地企业,进行企业商务咨询服务。为公安企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

最常用的方法就是通过循环对数组中的元素逐个取值,并与参考值(要查询的值)做比对,并处理结果。

下面是一个简单的对一维数组进行查询的样例。

函数功能:对输入的数组元素进行查询,打印符合查询值的元素位置,并返回查询到的元素总数。

函数名:array_query

函数声明: int array_query(int *a, int n, int v);

参数介绍:

a: 输入的数组,类型为整型指针,表示整型数组。可以根据实际需要进行调整。

n:数组中现有元素的个数。

v:要查询的元素值。

返回值:

整型,返回查询到的元素个数。如果出错返回-1。

实现代码:

int array_query(int *a, int n, int v)

{

int i,ret;

if(a == NULL || n = 0) return -1; //出错处理

for(ret = i = 0; i  n; i ++)

{

if(a[i] == n)

{

printf("%d\n", i);//找到元素,打印下标,并累计统计值

ret ++;

}

}

return ret;//返回总数。

}

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语言,查找数组中是否存在某个数?

从题目的叙述来看,这个函数的功能就是这一个包含有len个元素的num数组中查找是否存在值为key的元素。可以在找到后返回该元素的下标,否则返回-1。

这个函数的函数体可以这么写:

int i;

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

if(num[i]==key)return i;

return -1;

然后在主函数中的查找语句可以这么写:

if(searchNum(key,num,len)!=-1)

printf("找到!\n");

C语言查找数组中的数据

#define IntSize sizeof(int)

#define StructSize sizeof(struct tagresult)

#includestdio.h

#includestdlib.h

#includestring.h

typedef int *ptint;

typedef struct tagresult

{

int v;

char bl;

}*ptresult;

int lessthan(const void *v1,const void *v2)

{

int i1=*((ptint)v1),i2=*((ptint)v2);

if(i1==i2)

return 0;

else if(i1i2)

return 1;

else

return -1;

}

int main()

{

int c,n,capacity=128,rlen=0,dlen;

ptint data=(ptint)calloc(capacity,IntSize);

ptresult result;

scanf("%d",n);

result=(ptresult)calloc(n,StructSize);

memset(result,0,n*StructSize);

while(n--0)

{

scanf("%d",c);

dlen=0;

for(;c0;c--)

{

if(dlen+1=capacity)

{

capacity*=2;

data=(ptint)realloc(data,capacity);

}

scanf("%d",data+dlen++);

}

scanf("%d",c);

//直接调用库函数qsort进行快速排序,就不自己写快速排序算法函数了

qsort(data,dlen,IntSize,lessthan);

if(c=dlen)

{

(*(result+rlen)).v=*(data+c-1);

(*(result+rlen)).bl=1;

}

rlen++;

}

for(n=0;nrlen;n++)

{

if(1==(*(result+n)).bl)

printf("Case #%d:%d\n",n+1,(*(result+n)).v);

else

printf("Case #%d:-1\n",n+1);

}

free(data);

free(result);

return 0;

}


网页名称:c语言如何查找数组函数 c语言在数组中查找数值
文章网址:http://myzitong.com/article/dojipsi.html