毕业_设计 2022-01-31 10:26 采纳率: 100%
浏览 9
已结题

用C语言解决数组元素排序问题

数组元素排序
利用rand()函数随机生成100以内的正整数,用于填充整数数组,并使用qsort()函数实现数组元素的升序排序。请选出正确答案。

  • 写回答

1条回答 默认 最新

  • 易小侠 C/C++领域新星创作者 2022-01-31 10:36
    关注
    
    #include <stdio.h>
    #include <stdlib.h>
    #define ARR_LEN 10
     
    void fill_array(int array[], const int len)
    {
        int i;
        for (i = 0; i < len; ++i)
            array[i] = rand() % 100;
    }
     
    int compare(const void *p_1, const void *p_2)
    {
        const int *a_1 = (const int *)p_1;
        const int *a_2 = (const int *)p_2;
        return *a_1 > *a_2 ? 1 : (*a_1 == *a_2 ? 0: -1);
    }
     
    void print_array(const int array[], const int len)
    {
        int i;
        for (i = 0; i < len; ++i)
            printf("%d ", array[i]);
        printf("\n");
    }
     
    int main(int argc, char** argv)
    {
        int array[ARR_LEN];
        fill_array(array, ARR_LEN);
        printf("排序前:\n");
        print_array(array, ARR_LEN);
        qsort(array, ARR_LEN, sizeof(int), compare);
        printf("排序前:\n");
        print_array(array, ARR_LEN);
     
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月8日
  • 已采纳回答 1月31日
  • 创建了问题 1月31日

悬赏问题

  • ¥15 已知平面坐标系(非直角坐标系)内三个点的坐标,反求两坐标轴的夹角
  • ¥15 webots有问题,无响应
  • ¥15 数据量少可以用MK趋势分析吗
  • ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
  • ¥15 大智慧怎么编写一个选股程序
  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上