#include "stdio.h" int data[100]; void init(void) { int i = 100; for(i = 0; i < 100; i++) data[i] = i; } int find(int *p, int begin, int end, int x) { int mid = (begin + end)/2; if(p[mid] == x) return mid; if(p[mid+1] == x) return mid+1; if(begin+1 == end || begin == end) return -1; if(data[mid] < x) return(find(p,mid,end,x)); else return(find(p,begin,mid,x)); } int _tmain(int argc, _TCHAR* argv[]) { int i; init(); for(i = 0; i < 100; i++) printf("%d/t",(1+find(data,0,99,i))); return 0; }