#include int flag = 0; int fun(int low, int high, int n, int *num) { int mid; mid = (low + high) / 2; if (n == num[mid]) { flag = 1; return mid; } else if (n > num[mid]) fun(mid + 1, high, n, num); else fun(low, mid - 1, n, num); }
void main() { int n, m, i, j, k; int *a; printf("请输入数组的个数:\n"); scanf("%d", &n); a = (int *)malloc(sizeof(int) * n); for ( k = 0; k { scanf("%d", &a[k]); } for ( i = 0; i { for ( j = i + 1; j { int temp; if (a[i] > a[j]) { temp = a[i]; a[i] = a[j]; a[j] = temp; } } } printf("请输入要查找的数:"); scanf("%d", &m); fun(0, n - 1, m, a); if (flag) { printf("存在排序后数组的第%d位\n", fun(0, n - 1, m, a)); } else { printf("不存在"); } system("pause"); }