开发者社区> 问答> 正文

(C语言程序)输入10个数,选择排序的方法,由小到大排序。

要的是C语言,不是c++,求大婶帮帮忙

展开
收起
知与谁同 2018-07-22 18:54:41 1989 0
2 条回答
写回答
取消 提交回答
  • 没啥好说的。
    2019-07-17 22:50:48
    赞同 展开评论 打赏
  • 阿里云开发者社区运营负责人。原云栖社区负责人。
    #include <stdio.h>

    void selectSort(int array[], int n)
    {
    int i, j, d;
    int temp;
    for(i = 0; i < n - 1; ++i)
    {
    d = i; //开始一趟选择排序,假定第i个元素是后面n - i + 1个未排序的元素中最小的元素
    for(j = i + 1; j < n; ++j)
    if(array[j] < array[d]) //如果发现比当前最小元素还小的元素,则更新记录最小元素的下标d
    d = j;

    if(d != i) //如果最小元素的下标不是后面n - i + 1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置
    {
    temp = array[d];
    array[d] = array[i];
    array[i] = temp;
    }
    }
    }

    int main()
    {
    int i=0,array[10];
    for(i = 0;i<10;i++)
    {
    scanf("%d",&array[i]);
    }
    int size = sizeof(array)/sizeof(int);
    selectSort(array, size);

    for(i = 0; i < size; ++i)
    {
    printf("%d ", array[i]);
    }
    printf("\n");
    }
    2019-07-17 22:50:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载