本题要求完成函数的设计,实现在数组中查找x的位置并返回主函数输出。如x不存在,则输出"Not found!"。
函数接口定义:
int find(int a[], int x );
裁判测试程序样例:
#include "stdio.h"
#define N 5
void main()
{
int a[N],i; int x,k ;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
scanf("%d",&x); /* 输入被查找的x */
k=find(a,x); /* 求x在a数组中的位置 */
if(k==-1) printf("Not found!");
else printf("Loc is %d",k );
}
/* 编写的代码将放置到这里 */
int find(int a[], int x )
{
int flag=0,k=0;
for(int i=0;i<N;i++)
{
if(a[i]==x)
{
k=i+1;
break;
}
else
flag++;
}
if(flag==0)
{
k==-1;
}
return k;
}
这是测试代码:
10 8 5 6 7
9
运行结果:
Loc is 0
这是为什么?