测试代码 #include <iostream> #include <stdio.h> using namespace std; /* Return (any) position if t in sorted x[0..n-1] or -1 if t is not present */ int binarySearch(int t, int n); int *x = new int[10]; int main() { int n, t; while ( cin >> n >> t ) { for (int i=0; i<n; i++) x[i] = 10*i; printf("%d/n", binarySearch(t, n)); } } int binarySearch(int t, int n) { int l, u, m; l = 0; u = n-1; while (l <= u) { m = (l + u) / 2; if (x[m] < t) l = m+1; else if (x[m] == t) return m; else /* x[m] > t */ u = m-1; } return -1; }