本题要求自定义函数,实现在一维数组(无序)中查找指定元素第一次出现在数组中的下标。
函数接口定义:
int search( int a[], int n, int key);
其中a
是用户传入的数组(无序);n
(≥0)是a
中元素的个数;key
是待查找的元素。
如果找到,则函数search返回key在a中的最小下标(下标从0开始),否则返回-1。
裁判测试程序样例:
#include<iostream>
using namespace std;
const int N=10;
int search( int a[], int n, int key);
int main()
{
int i, index, n, x;
int a[N];
cin >> n;
for( i = 0; i < n; i++ )
cin >> a[i]; //顺序输入元素值
cin >> x;
index = search( a, n, x );
if( index >=0 )
cout << "index = " << index << endl;
else
cout << "Not found\n";
return 0;
}
输入样例1:
5
1 3 5 7 9
3
输出样例1:
index = 1
输入样例2:
5
1 3 5 7 9
8
输出样例2:
Not found
/* 请在这里填写函数定义的实现 */
int search( int a[], int n, int key)
{
int flag, i=0;
for(i=0;i<n;i++)
{
flag=-1;
if(a[i]==key)
{
flag=1;
break;
}
}
if(flag==1)
return i;
else
return -1;
}