执行代码:
#include<stdio.h>
int Countx(int arr[],int p,int r,int x){
int q;
if(p==r){ //1个数据
if(arr[p]==x)
return 1;
else
return 0;
}
else //多个数据
q=(p+r)/2;
return(Countx(arr,p,q,x)+Countx(arr,q+1,r,x)); //递归方程
}
int main(){
int arr[]={1,2,3,4,5,5,1,3,5,8};
int x,n,m;
printf("请输入待查找的数据:");
scanf("%d",&x);
m = sizeof(arr) / sizeof(arr[0]);
n=Countx(arr,0,m-1,x);
if(n==0)
printf("查无此数据.\n");
else
printf("该数据在数组中的个数为:%d\n",n);
return 0;
}
运行结果: