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

有关c语言期中试题解法

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

  • 写回答

1条回答 默认 最新

  • 逍遥xiaoy 2022-05-21 11: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月19日
  • 已采纳回答 6月12日
  • 创建了问题 5月21日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部