#include<stdio.h> int main() { int a[12]={3,5,8,9,14,17,19,21,23,26,28,32}; int x,i,top,bot,mid,find; scanf("%d",&x); top=0; bot=11; find=0; do { mid=(top+bot)/2; if(x==a[mid]) { printf("found: %d,it is a[%d].\n",x,mid); find=1; break; } else if(x<a[mid]) bot=mid-1; else top=mid+1; } while(top<=bot); if(!find) printf("%d not found.\n",x); return 0;
时间: 2024-04-04 16:29:36 浏览: 88
这是一个简单的 C 语言程序,它使用二分查找算法在数组 a 中查找输入的数 x。程序中定义了一个包含 12 个元素的整数数组 a,并且初始化了数组中的元素。接着程序使用 scanf 函数从控制台读取一个整数 x,作为要查找的数。程序接着定义了变量 top、bot、mid 和 find,它们分别表示数组的上界、下界、中间位置和是否找到输入的数。程序通过一个 do-while 循环不断缩小查找范围,直到找到输入的数或者查找范围为空。如果找到了输入的数,程序输出提示信息,否则输出未找到的信息。最后程序返回 0,表示程序运行成功结束。
阅读全文