编写程序调用函数fun采用指针做函数参数,数fun的功能是:在数组中中查找某数据第一次出现的位置如果出现,函数返回此位置;如果数据不在
数组中出现则返回0:数组中数据数量为用户指定:
#include "stdio.h"
int fun(int a[],int n,int *p){
int left,right,mid;
left = 0;
right= n-1;
while(left<=right){
//获取中间位置元素的下标
mid = (left+right)/2;
if(*p>a[mid]){
//往右找
left=mid+1;
}else if(*p<a[mid]){
//往左找
right=mid-1;
}else{
break;
}
};
return mid;
}
void main()
{
int a[10]={1,2,3,4,5,8,10,110,120,1000};
int index = -1;
int num,cnt=0;
printf("请输入你要查找的数据:");
scanf("%d",&num);
index = fun(a,10,&num);
printf("%d的位置是:%d",num,index);
}
#include <stdio.h>
int fun(int *a,int n,int m)
{
int i = 0 ;
for(i=0;i<n;i++)
if(*(a+i) == m)
return i+1;
return 0;
}
int main()
{
int a[1000];
int n,i,m;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
printf("%d",fun(a,n,m));
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: