P102 简单数据查找 ★

03-程序设计题 软件121, 唐鼎威 1093浏览

所属年份:2011.9
请编写函数fun,函数的功能是查找x在s所指数组中下标的位置,并作为函数值返回,若x不存在,则返回-1。

#include  <stdio.h>
#include  <stdlib.h>
#define   N   15
int  fun( int *s, int x)
{

}
main()
{  int a[N]={ 29,13,5,22,10,9,3,18,22,25,14,15,2,7,27},i,x,index;
   printf("a数组中的数据 :\n");
   for(i=0; i<N; i++) printf("%4d",a[i]);  printf("\n");
   printf("给x输入待查找的数 :  ");   scanf("%d",&x);
   index=fun( a, x );
   printf("index=%d\n",index);
}

【解题思路】
要找出数组中指定数据的下标,首先定义变量i用于存放数组下标,然后使用循环语句对数组进行遍历,依次取出一个数组元素与指定的数进行比较,若相等,则返回该元素的下标,否则继续判断下一个元素,直到数组结束。若数组结束时仍没有找到与指定数相等的元素,则返回-1。

【参考答案】

int  fun( int *s, int x)
{  int i;
   for(i=0;i<N;i++)
      if(x==s[i]) return i;
   return -1;
}