A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yyyyyyyyqs 中级黑马   /  2015-6-28 23:26  /  601 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>

int main() {
    int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int low = 0, high = 9;
    printf("输入您要查找的数\n");
    int b = 0;
    //要查找的数的位置
    int place = 0;
    scanf("%d",&b);
    while (high != low) {
   
    int middle = (high + low) / 2;
    if(b > a[middle])
    {
        if (b == a[high]) {
            place = high;
            break;
        }
        low = middle + 1;
    }else if (b < a[middle]){
        if (b == a[low]) {
            place = low;
            break;
        }
        high = middle - 1;
    }else{
        place = middle;
        break;
    }
        
    }
   
    printf("%d\n",place);
    return 0;
}

1 个回复

正序浏览
加油!!!!!!!!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马