m0_64468717 2022-05-28 08:50 采纳率: 100%
浏览 26
已结题

求码,c语言实现递归排序

这是要求结果

img


这是我的结果

img

该怎么实现呀,实在改不过来了

代码传不上来,只好用图片替代了

img

img

img

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-05-28 09:47
    关注

    一种写法,供参考:

    //应用递归函数实现起泡排序
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #define N 20
    void merage_sort(int a[], int n)
    {
        int tmp;
        if (n == 1)
            return;
        else {
            for (int i = 0; i < n - 1; i++) {
                if (a[i] < a[i + 1]) {
                    tmp = a[i];
                    a[i] = a[i + 1];
                    a[i + 1] = tmp;
                }
            }
            merage_sort(a, n - 1);
        }
    }
    int main()
    {
        int a[N], i;
        srand((unsigned int)time(NULL));
    
        printf("数组排序前:\n");
        for (i = 0; i < N; i++){
             a[i] = rand() % 100 + 1;
             printf("%3d", a[i]);
        }
        printf("\n");
    
        merage_sort(a, N);   //排序
    
        printf("数组排序后:\n");
        for (i = 0; i < N; i++)
             printf("%3d", a[i]);
        printf("\n");
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月5日
  • 已采纳回答 5月28日
  • 创建了问题 5月28日