求适合新手了解学习的一段C语言代码,如下

2024-11-01 09:00:47
推荐回答(1个)
回答1:

#include 
#include 

#define N 1001

int cmp(const void* a, const void* b)
{
    return *(int*)a - *(int*)b;
}

int main()
{
    int arr[N] = {0};
    int n, m, i;
    void* f = NULL;
    //输入
    scanf("%d", &n);
    for(i = 0; i < n; ++i)
    {
        scanf("%d", &arr[i]);
    }
    scanf("%d", &m);

    //快速排序
    qsort(arr, n, sizeof(int), cmp);

    //二分查找
    f = bsearch((void*)&m, arr, n, sizeof(int), cmp);

    //结果
    if(f != NULL)
    {
        printf("%d\n", (int*)f - arr + 1);
    }
    else
    {
        printf("not found\n");
    }

    return 0;
}