| 
 | 
 
 
发表于 2019-2-14 11:45:57
|
显示全部楼层
 
 
 
小甲鱼!!!我自己写出来了!!!给你看!!!- #include <stdio.h>
 
  
- int find(int [], int, int, int);
 
  
- int find(int a[], int num, int l, int r)
 
 - {
 
 -     int result;
 
 -     if(l == r)
 
 -     {
 
 -         result=l;
 
 -     }
 
 -     else
 
 -     {
 
 -         if(a[(r+l)/2]>=num)
 
 -         {
 
 -             result=find(a, num, l, (r+l)/2);
 
 -         }
 
 -         else if(a[(r+l)/2+1]<=num)
 
 -         {
 
 -             result = find(a, num, (r+l)/2+1, r);
 
 -         }
 
 -     }
 
  
-     return result;
 
 - }
 
  
- int main()
 
 - {
 
 -     int array[]={1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
 
 -     int target;
 
 -     int loc;
 
 -     printf("请输入一个整数:");
 
 -     scanf("%d",&target);
 
  
-     loc=find(array, target, 0, 9);
 
  
-     printf("数组下标为:%d\n",loc);
 
 -     printf("是数组中的第%d个数",loc+1);
 
  
-     return 0;
 
 - }
 
 
  复制代码 |   
 
 
 
 |