选择法排序是相对好理解的排序算法。假设要对含有n个数的序列进行升序排列,算法步骤是:

1、从数组存放的n个数中找出最小数的下标(算法见下面的“求最值”),然后将最小数与第1个数交换位置;

2、除第1个数以外,再从其余n-1个数中找出最小数(即n个数中的次小数)的下标,将此数与第2个数交换位置;

3、重复步骤1  n-1趟,即可完成所求。

好了,接下来看代码:

#include

#include

#define n 10

int main()

{

int a[n],i,j,k,t;

printf("随机产生10个100以内的数:\n");

for(i=0;i

{

a[i] = rand()%100;

printf("%d\n",a[i]);

}

printf("输出:\n");

for(i=0;i

{

k = i; /*总是假设此趟处理的第一个(即全部数的第i个)数最小,k记录其下标*/

for(j=i+1;j

{

if(a[j] < a[k])

k = j;

}

if (k != i)

{

t = a[i];

a[i] = a[k];

a[k] = t;

}

}

for(i=0;i

printf("%d\n",a[i]);

return 0 ;

}运行结果:

随机产生10个100以内的数字,排序后输出

本文同步分享在 博客“Engineer-Bruce_Yang”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

c语言选择排序输出指定趟数结果,C语言之选择排序 - 杨源鑫的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. 用c语言编写oj成绩排名,OJ题:成绩排序 - 杨源鑫的个人空间 - OSCHINA - 中文开源技术交流社区...

    题目描述 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理. 例示: jack 70 peter 96 Tom 70 smit ...

  2. java选择排序不稳定_选择排序就这么简单 - Java3y的个人空间 - OSCHINA - 中文开源技术交流社区...

    选择排序就这么简单 从上一篇已经讲解了冒泡排序了,本章主要讲解的是选择排序,希望大家看完能够理解并手写出选择排序的代码,然后就通过面试了!如果我写得有错误的地方也请大家在评论下指出. 选择排序介绍和稳 ...

  3. c语言用正数的形式求最大值最小值,C语言-进制 - 盘盘的灰灰的个人空间 - OSCHINA - 中文开源技术交流社区...

    a. 如果文件路径我们使用双引号引起来. #include "1.txt" -> 先去当前源文件所在的目录中查找这个文件.如果有,直接包含. -> 如果没有,就去系统自 ...

  4. jmu-python-函数-找钱_python函数题 - osc_wv1mxwu2的个人空间 - OSCHINA - 中文开源技术交流社区...

    请大家严格按照下面顺序编写圆形生成器程序. : 定义函数getCircleArea(r),可以对指定r计算圆面积.计算公式math库的pi*r*r. 定义函数get_rList(n),功能:输入n个值 ...

  5. java实现自举_实现语言的自举 - 沙枣的个人空间 - OSCHINA - 中文开源技术交流社区...

    几乎所有的语言项目,其核心都是用更底层的语言写的. 底层语言大部分是 C,C++,而扩展这门语言的核心,就要用另外一种语言 去写.这给语言设计者较大的挑战. 开发语言必须具备底层语言的编写能力,而为了 ...

  6. C语言十个字母用冒泡法排序,冒泡排序法(C语言) - osc_wq8j2a9a的个人空间 - OSCHINA - 中文开源技术交流社区...

    常用的排序方法有冒泡排序法,选择排序法,插入排序法以及希尔排序法等.本文着重讲解如何利用C代码,实现冒泡排序. 首先,要了解什么是冒泡排序.冒泡排序是常用的一种排序方法,其基本方法就是逐次比较.即一次 ...

  7. c语言输出法雷序列,法雷(法里)序列 - osc_h0wb1wlt的个人空间 - OSCHINA - 中文开源技术交流社区...

    定义: 对任意给定的一个自然数n,将分母小于等于n的不可约的真分数按升序排列,并且在第一个分数之前加上0/1,在最后一个分数之后加上1/1,这个序列称为n级法雷数列,即法雷数列是0和1之间最简分数升序 ...

  8. c语言输出三门课程平均值,实验作业一 - 先奕宣202005018110的个人空间 - OSCHINA - 中文开源技术交流社区...

    缩写程序,输出以下信息: **********¥¥ ¥¥¥ This is my first C program! **********¥¥¥¥¥ int main() { printf(" ...

  9. 对称数c语言,中心对称数 - Developmer的个人空间 - OSCHINA - 中文开源技术交流社区...

    中心对称数是指一个数字在旋转了 180 度之后看起来依旧相同的数字(或者上下颠倒地看). 请写一个函数来判断该数字是否是中心对称数,其输入将会以一个字符串的形式来表达数字. class Solutio ...

最新文章

  1. 非法关机 mysql_一次非法关机造成mysql数据表损坏的例子
  2. 分享:Python fabric实践操作
  3. 一步一步教你写带图片注释的淡入淡出插件(三)
  4. 5.Vue 计算属性和侦听器
  5. 刷排名优优软件_QQ群拉人了,排名后置了?申诉案例
  6. “约见”面试官系列之常见面试题之第九十九篇之router和route(建议收藏)
  7. DPDK无锁队列rte_ring相关代码及示例程序(rte_ring.h,rte_ring.c,main.c,makefile)
  8. 深度之眼 alexnet_AlexNet带给了深度学习的世界
  9. nginx connect() to (13: Permission denied) while connecting
  10. 【千本樱】mmd镜头+动作打包下载
  11. 数学分析教程(科大)——1.6笔记+习题
  12. 【zhasite】托业英语阅读技巧有哪些
  13. 5分钟用C#实现串口助手
  14. oracle 按时间每五分钟分割,Oracle 5分钟或30分钟分割方法
  15. 早期微处理器相关的中文翻译书籍
  16. 2018程序员拜年的奇思妙想,涨姿势了
  17. wps excel批量获取网址标题(Title)
  18. 如何构建智慧矿山管理平台?
  19. 王者荣耀孙策520皮肤特效展示 孙策520皮肤值得买吗
  20. 【转载】网络文件夹目前是以其他用户名和密码进行映射的。

热门文章

  1. 关于电弧焊的一些基本常识
  2. iMac 配置Jmeter
  3. Python让女生无法拒绝的表白源代码
  4. 移动端APP的H5测试用例一览表(常规用例)
  5. 一文教你如何用Python预测股票价格
  6. 移远BC95手动接入网络操作步骤
  7. windows 7 IBM R52声卡驱动安装问题
  8. Yolov8损失函数改进:Wasserstein Distance Loss,助力小目标涨点
  9. 系统登录探究——(四)找回密码
  10. [15单片机] STC15F104W开发入门及模拟串口程序