2020-04-29

1.二分法

2.宏定义

3.条件编译

4.创建头文件

#include<stdio.h>

void Fun(int arr[],int a,int length)

{

    int min=arr[0];

int max=arr[length-1];

int mid;

int i=1;

while(i<=length)

{

mid=(min+max)/2;

if(a>mid)

{

min=mid+1;

}else if(a<mid)

{

max=mid-1;

}else

{

printf("找到了%d\n",mid);

return;

}

i++;

}

printf("找不到%d\n\n",a);

}

int Fun1(int min,int max ,int mid,int a)

{

if(mid>max||mid<min)

{

printf("没找到");

return a;

}

if(a>mid)

{

min=mid+1;

return Fun1(min,max,(min+max)/2,a);

}else if(a<mid)

{

    max=mid-1;

return Fun1(min,max,(min+max)/2,a);

}else

{

printf("找到了");

return mid;

}

}

int main()

{

    int arr[100];

    int i;

    for(i=0;i<100;i++)

    {

    arr[i]=i+1;

    }

    int min=arr[0];

int max=arr[99];

int mid=(min+max)/2;

    for(i=0;i<100;i++)

    {

    //Fun(arr,arr[i],100);

      // printf("%d\n",Fun1(min,max,mid,arr[i]));

    }

    printf("%d\n",Fun1(min,max,mid,0));

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,450评论 0 2
  • 题目来源:1、中兴、华为、慧通、英华达、微软亚洲技术中心等中外企业面试题目;2、C 语言面试宝典(林锐《高质量编程...
    月震阅读 1,882评论 0 1
  • DAY 05 1、 public classArrayDemo { public static void mai...
    周书达阅读 763评论 0 0
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,554评论 0 13
  • 算法与数据结构基础 一、基础算法思想二分: 递推: 枚举: 递归: 分治: 贪心: 试探: 模拟: 二、简单数据结...
    为梦想战斗阅读 385评论 0 0