|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
【问题描述】数组元素值查找问题:输入一个整数,在数组中查找是否存在该数,若存在则显示其所在的数组下标位置,否则显示NOEXIST,查找使用search函数实现, 试完成空缺处的程序代码。
【输入形式】输入待查找的数据
【输出形式】输出查找结果(数组下标值或NOEXIST)
【样例输入】35
【样例输出】index=2
【样例说明】
【评分标准】
#include <stdio.h>
#define N 10
int search(int *p,int x,int n)
{
}
int main()
{ int indx,m,a[N]={10,20,35,40,43,44,45,50,51,60};
scanf("%d",&m);
if(indx>=0)
printf("index=%d\n",indx);
else
printf("NOEXIST\n");
return 0;
}
我自己写的代码:
#include <stdio.h>
#define N 10
int search(int *p,int x,int n)
{
int ;
for(n=0;n<10;n++)
{
if(*(p+n)==x)
{
break;
}
}
return n;
}
int main()
{ int indx,m,a[N]={10,20,35,40,43,44,45,50,51,60};
scanf("%d",&m);
search(a,m,indx);
if(indx>=0)
printf("index=%d\n",indx);
else
printf("NOEXIST\n");
return 0;
}
输出结果一直是0;
麻烦大佬指点迷津,谢谢啦
本帖最后由 风过无痕1989 于 2020-12-18 22:15 编辑
- #include <stdio.h>
- #define N 10
- int search(int *p,int x,int n)
- {
- int i;
- for(i=0;i<n;i++)
- {
- if(*(p+i)==x)
- {
- break;
- }
- }
- return i;
- }
- int main()
- {
- int index,m,a[N]={10,20,35,40,43,44,45,50,51,60};
- scanf("%d",&m);
- index = search(a,m,N); //你的数组长度是N,不能用n 去调用函数
- if(index>=0)
- printf("index=%d\n",index);
- else
- printf("NOEXIST\n");
- return 0;
- }
复制代码
|
|