当前位置:千优问>常见问答>C语言的二分查找

C语言的二分查找

2022-12-14 20:34:30 编辑:join 浏览量:610

C语言的二分查找

C语言的二分查找

#include #include int search(int* a, int key){ int low = 0; int high = 14; int mid; while (low <= high) { mid = (low + high) / 2; if (key == a[mid]) return mid; else if (key < a[mid]) high = mid - 1; else low = mid + 1; } return 0;}int main(){ int* a, key, i = 0; int b[15] = { 0 }; a = b; printf("please input all the 15 data(from small to big) \n "); for (i = 0; i < 15; i++) { scanf("&d", &b[i]); //这里是b[i] printf("\n"); } printf("please input the key"); scanf("%d", &key); if (!search(a, key)) printf("there is no data you are searching for \n"); else //这个else不能少,不然你怎么运行都会输出下面的语句 { printf("the data you are searching for is in the %dth place\n", search(a, key)); } getchar(); return 0;}

标签:C语言,二分,查找