36. #include<stdio.h> #include<string.h> #include<stdlib.h> #include<cstring> int binary_search(int arr[],int k,int sz) { ?? ?int left = 0;//左下标?? ? ?? ? ?? ?int right = sz - 1;//右下标 ?? ?while (left<=right) ?? ?{ ?? ? ?? ??? ?int mid = (left + right) / 2; ?? ??? ?if (arr[mid] < k) ?? ??? ?{ ?? ??? ??? ?left = mid + 1; ?? ??? ?} ?? ??? ?else if (arr[mid] > k) ?? ??? ?{ ?? ??? ??? ?right = mid - 1; ?? ??? ?} ?? ??? ?else ?? ??? ?{ ?? ??? ??? ?return mid; ?? ??? ?} ?? ?} ?? ?return -1; } int?? ? main() { ?? ?int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; ?? ?int k = 11; ?? ?int sz = sizeof(arr) / sizeof(arr[0]) - 1; ?? ?int?? ? ret= binary_search(arr, k,sz);//调用函数 ?? ?if (ret ==-1) ?? ?{ ?? ??? ?printf("找不到指定的数字\n"); ?? ?} ?? ?else ?? ?{ ?? ??? ?printf("找到了,下标是:%d\n", ret); ?? ?} ?? ?return 0; }
37. #include<stdio.h> void add(int* p) { ?? ?(*p)++; }
int main() { ?? ?int num = 0; ?? ?add(&num); ?? ?printf("%d\n",num); ?? ?add(&num); ?? ?printf("%d\n", num); ?? ?add(&num); ?? ?printf("%d\n", num); ?? ?add(&num); ?? ?printf("%d\n", num); ?? ?return 0; }
38. #include<stdio.h> #include<string.h> #include<stdlib.h> #include<cstring> int main() { ?? ?int len = 0; ?? ?len = sizeof("abc ?d");// len = strnlen("abc ?d"); ?? ?printf("%d\n", len); ?? ?return 0; }
|