m0_71217012 2022-05-21 19:37 采纳率: 100%
浏览 23
已结题

有关c语言期中试题解法

2010c语言软件版本将[23,45,67,87,98,99,123,456,789,43,利用2种以上方法,实现对上述10个数,从小到大排序。

  • 写回答

1条回答 默认 最新

  • 逍遥xiaoy 2022-05-21 19:53
    关注

    冒泡和选择排序

    
    #include<stdio.h>
     
    void BubbleSort(int *arr, int size)  
    {  
        int i, j, tmp;  
        for (i = 0; i < size - 1; i++) {  
            for (j = 0; j < size - i - 1; j++) {  
                if (arr[j] > arr[j+1]) {  
                    tmp = arr[j];  
                    arr[j] = arr[j+1];  
                    arr[j+1] = tmp;  
                }  
            }  
        }  
    } 
    void SelectionSort(int *arr, int size)
    {
        int i, j, k, tmp;
        for (i = 0; i < size - 1; i++) {
            k = i;
            for (j = i + 1; j < size; j++) {
                if (arr[j] < arr[k]) {
                    k = j;
                }
            }
            tmp = arr[k];
            arr[k] = arr[i];
            arr[i] = tmp;
        }
    }
    int main()
    {
        int a[] = {23,45,67,87,98,99,123,456,789,43};
        int i;
        for(i = 0;i < 10;i++)
            printf("%d ", a[i]);
        BubbleSort(a, 10);
        printf("\n ");
        for(i = 0;i < 10;i++)
            printf("%d ", a[i]);
        SelectionSort(a, 10);
        printf("\n ");
        for(i = 0;i < 10;i++)
            printf("%d ", a[i]);
    }
    

    https://blog.csdn.net/mwj327720862/article/details/80498455
    链接里有其他多种排序函数,可以自己复制来用

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多