当前位置:编程学习 > C/C++ >>

设a是一个整型数组,n和x都是整数,数组a中的元素都是互异的.用C写 急急 谢谢了

设a是一个整型数组,n和x都是整数,数组a中的元素都是互异的。请编写函数find(a,n,x),在数组a的前n个元素中查找x,如果找到,返回x在数组a中的位置;如果没有找到,返回-1。
补充:例如:数组a中有元素{1,4,3,2,5},调用find(a,5,2)后返回4,因为在a的前5个元素中找到了2,它在a中的位置是4;而调用find(a,5,10)后返回-1,因为在a的前5个元素中没有找到10。
答案:#include <stdio.h>

int find(int a[], int n, int x)
{
int i;
for(i = 0; i< n; i++)
{
if(a[i] == x)
return i;
}
return -1;
}
void main()
{
int a[5] = {1, 2 , 3, 4, 5};
printf("%d\n", find(a, 3, 5));
}
其他:int find(int a[],int n,int x)
{
int i;
for(i=0;i<n;i++)
{if(a[i] == x)
return i;
}
return -1;
} int find( int *a, int n, int x )
{
    while( --n>=0  )  if( a[n]== x ) return n+1; /*返回的是数组中的第几个,不是下标*/
    return -1;
}

上一个:C语言中,对一个 int 型数据用 sizeof ,为什么得出的结果是4?int 占的字节不是 2 吗?我用的是VC++6.0。
下一个:怎么让lcd1602液晶的指定一位或两位的内容闪烁,麻烦给个c程序解释下,谢谢

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,