选择法排序是相对好理解的排序算法。假设要对含有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. GitBook使用教程
  2. Java ACM模式
  3. dockerHub登录失败
  4. js基础知识汇总09
  5. IntelliJ IDEA使用技巧(七)——常用快捷键Mac篇
  6. 今日头条java后端四面_今日头条笔试第二批后端开发第一题java实现
  7. ping命令结果中如何显示时间
  8. python画一个正方形和圆_正方形最新:Python 用turtle实现用正方形画圆的例子_爱安网 LoveAn.com...
  9. 拔丝芋头的Java学习日记---Day8
  10. html怎样修改背景图片大小,css中如何设置背景图片的大小?
  11. 核心微生物分析_科学网—微生物组核心OTU鉴定usearch otutab_core - 刘永鑫的博文...
  12. SQLserver的Always On 可用性组
  13. mysql中清空数据表中的数据,不删除数据表
  14. 很有意思的软件产品宣传画,这个美工很有创意
  15. 如何打开计算机浏览器定位功能吗,如何在360浏览器中设置允许所有网站跟踪我的地理位置...
  16. sg90舵机工作原理_舵机跑舵?锲而不舍终除隐患!
  17. mysql opc,OPC服务器Kepserver实现Mysql数据库连接(三)
  18. oracle vault 权限,oracle_database_vault 配置
  19. 采用XLL封装工作表函数的演示,确保工作表上的公式不暴露给用户
  20. Basler_pylon_5.0.12安装教程

热门文章

  1. Suse11sp3系统安装asm+oracle11G+rac
  2. CentOS 7 搭建PPTP,实现虚拟专用网络服务
  3. web网页设计实例作业 ——中国民间年画 (5页) 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码
  4. 刷脸支付实现校园内消费和身份识别
  5. 经典电影(阿甘正传,狮子王,乱世佳人)经典台词
  6. Appium-Terminate App(终止应用程序)
  7. Mysql 性能优化的一些手段
  8. 既然安卓免费,那 Google 是靠什么赚钱的?
  9. 上海职称评审在线课程的评价
  10. stc15f104w模拟串口使用