#include <stdio.h> #include <conio.h> #define M 10 void main() { staticint a[M]={-12,0,6,16,23,56,80,100,110,115}; int n,low,mid,high,found; low=0; high=M-1; found=0; printf("Input a number to be searched:"); scanf("%d",&n); while(low<=high) { mid=(low+high)/2; if(n==a[mid]) {found=1;break;} elseif(n>a[mid]) low=mid+1; else high=mid-1; } if(found==1) printf("The index of %d is %d",n,mid); else printf("There is not %d",n); }
折半查找法:针对有序数组#include &lt;stdio.h&gt;#include &lt;conio.h&gt;#define M 10void main(){ static int a[M]={-12,0,6,16,23,56,80,100,110,115}; int n,low,mid,high,found; low=0; high=M-1; found=0; ...