所属年份: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; }