从一个有n个元素的整型数组中,寻找一个指定的数,若找到返回该数在数组中的下标,否则返回-1 5
2个回答
展开全部
如果数组中含多个该数,则只返回下标最小的那个,略去其它的。
下面例子,在a,b,c三个数组中分别找目标数4:
#include <stdio.h>
#include <stdlib.h>
int find(int *a,int n,int target)
{
int i;
for (i=0;i<n;i++) if (a[i]==target) return i;
return -1;
}
void main()
{
int a[5]={1,3,5,7,9};
int b[8] = {-4,-3,-2,-1,1,2,3,4};
int c[3]={4,4,4};
int target=4;
printf("a: %d\n",find(a,5,target) );
printf("b: %d\n",find(b,8,target) );
printf("c: %d\n",find(c,3,target) );
system("pause");
}
结果
a: -1
b: 7
c: 0
下面例子,在a,b,c三个数组中分别找目标数4:
#include <stdio.h>
#include <stdlib.h>
int find(int *a,int n,int target)
{
int i;
for (i=0;i<n;i++) if (a[i]==target) return i;
return -1;
}
void main()
{
int a[5]={1,3,5,7,9};
int b[8] = {-4,-3,-2,-1,1,2,3,4};
int c[3]={4,4,4};
int target=4;
printf("a: %d\n",find(a,5,target) );
printf("b: %d\n",find(b,8,target) );
printf("c: %d\n",find(c,3,target) );
system("pause");
}
结果
a: -1
b: 7
c: 0
来自:求助得到的回答
2010-06-09
展开全部
//---------------------------------------------------------------------------
#include <stdio.h>
int find(const int *a,int n,const int nf) /*在有n个元素的数组a中寻找nf的位置,返回其下标,未找到则返回-1*/
{
while (--n>=0)
if (a[n]==nf)
break;
return n;
}
int main(void)
{
int a[5]={1,3,5,7,9};
int index=find(a,5,17);/*在有5个元素的数组a中寻找17的位置*/
printf("%d",index);
return 0;
}
//---------------------------------------------------------------------------
#include <stdio.h>
int find(const int *a,int n,const int nf) /*在有n个元素的数组a中寻找nf的位置,返回其下标,未找到则返回-1*/
{
while (--n>=0)
if (a[n]==nf)
break;
return n;
}
int main(void)
{
int a[5]={1,3,5,7,9};
int index=find(a,5,17);/*在有5个元素的数组a中寻找17的位置*/
printf("%d",index);
return 0;
}
//---------------------------------------------------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询