赞
踩
比如我买了件300以下的衣服,你好奇,想知道到底多少钱,我让你猜,你会怎么猜呢?
答案:你每次会猜中间数,不会从1开始猜。
#include <stdio.h> int main() //二分查找法(折半查找法) { int left = 0; int mid = 0; int n = 0; int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int right = sizeof(arr) / sizeof(arr[0]) - 1; scanf("%d", &n); while (left <= right) { mid = (left + right) / 2; if (arr[mid] > n) { right = mid - 1; } else if (arr[mid] < n) { left = mid + 1; } else { printf("找到了,它在数组下标为%d上",mid); break; } } if (left > right) { printf("抱歉,没有找到您要的数字"); } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。