例60:C语言实现用选择法对10个整数排序。

解析:选择排序思路如下,设有10个元素a[1]~a[10],将a[1]与a[2]~a[10],若a[1]比a[2]~a[10]都小,则不进行交换,即无任何操作。

若a[2]~a[10]中有一个以上比a[1]小,则将其中最大的一个,与a[1]交换,此时a[1]中存放了10个中最小的数。依次类推,共进行9轮比较,a[1]~a[10]就已按由小到大的顺序存放了。

整体代码逻辑为了让读者更加清晰,小林这里分为四部分:

第一部分 键盘输入10个数:

for(i=1;i<=10;i++)//依次键盘录入10个数据 {printf("array[%d]=",i-1);//数组下标从0开始 scanf("%d",&array[i]);}

第二部分 输出键盘录入的10个数:

for(i=1;i<=10;i++)//将键盘录入的10个数原样输出 {printf("%5d",array[i]);}

第三部分 排序逻辑:

for(i=1;i<=9;i++){min=i;//把第一个数作为最小的 for(j=i+1;j<=10;j++){ if(array[min]>array[j])//判断大小,小的为min {min=j;} }temp=array[i]; //大小交换 array[i]=array[min];array[min]=temp; }

第四部分 排序后的10个数:

for(i=1;i<=10;i++)//输出排序后的10个数 {printf("%5d",array[i]);}

源代码演示:

#include<stdio.h>//头文件
int main()//主函数
{int i,j,min,temp,array[11];//定义整型变量和数组 printf("输入数据:n");//提示语句 for(i=1;i<=10;i++)//依次键盘录入10个数据 {printf("array[%d]=",i-1);//数组下标从0开始 scanf("%d",&array[i]);}printf("n");//换行 printf("原样输出:n");//提示语句 for(i=1;i<=10;i++)//将键盘录入的10个数原样输出 {printf("%5d",array[i]);}printf("n");//换行for(i=1;i<=9;i++){min=i;//把第一个数作为最小的 for(j=i+1;j<=10;j++){ if(array[min]>array[j])//判断大小,小的为min {min=j;} }temp=array[i]; //大小交换 array[i]=array[min];array[min]=temp; } printf("排序输出:n");//提示语句 for(i=1;i<=10;i++)//输出排序后的10个数 {printf("%5d",array[i]);}printf("n");//换行return 0;//主函数返回值为0
}

编译运行结果如下:

输入数据:
array[0]=1
array[1]=4
array[2]=7
array[3]=9
array[4]=4
array[5]=3
array[6]=7
array[7]=9
array[8]=5
array[9]=3原样输出:1    4    7    9    4    3    7    9    5    3
排序输出:1    3    3    4    4    5    7    7    9    9--------------------------------
Process exited after 8.036 seconds with return value 0
请按任意键继续. . .

想看快速排序,归并排序各种排序的点赞告诉我啦

C语言 | 选择法排序​mp.weixin.qq.com

c语言文件归并问题_C语言 | 选择法对10个数排序相关推荐

  1. C语言,利用一维数组中选择法对成绩高低排序和输出对应的学号及利用顺序查找查找学生成绩

    声明:该编译器为vs,所以输入函数写为scanf_s形式! 代码如下: #include <stdio.h> #define N 40 int ReadScore(int score[], ...

  2. C语言,利用一维数组和选择法对成绩高低排序,及输出对应的学号

    声明:该编译器为vs,所以输入函数写为scanf_s形式! 代码如下: #include <stdio.h> #define N 40 int ReadScore(int score[], ...

  3. ACMNO.18 C语言-选择排序 用选择法对10个整数从小到大排序。 输入 10个整数 输出 排序好的10个整数

    题目描述 用选择法对10个整数从小到大排序. 输入 10个整数 输出 排序好的10个整数 样例输入 4 85 3 234 45 345 345 122 30 12 样例输出 3 4 12 30 45 ...

  4. C语言文件缓冲区作用,C语言 文件操作4--文件结构体FILE的理解以及缓冲区再讲...

    //文件结构体FILE的理解以及缓冲区再讲 #include #include //要点:文件结构 //struct _iobuf { // char *_ptr; ------当前缓冲区内容指针 / ...

  5. C语言学习之用选择法对10个整数排序

    用选择法对10个整数排序 法一: int main(){int min,temp;//定义 int zu[10]={10,2,6,4,3,8,1,5,74,25};//定义数组 int length; ...

  6. C语言 | 用指针对10个数排序

    例31:C语言用指针方法对10个整数按由大到小顺序排序. 解题思路:在主函数中定义数组,用来存放10个整数,定义int *型指针变量p指向a[0],定义函数sort将数组中的元素按由大到小排序. 排序 ...

  7. 用选择法对10个整数进行升序排序

    用选择法对10个整数进行升序排序 思路 把首项当成最大最小元素 从剩余的元素中继续找到最大最小元素 需要确定每次找到的最大最小元素的下标 代码实现 int main(){int a[10]={4,31 ...

  8. 用选择法对10个整数排序(从小到大)

    用选择法对10个整数排序(从小到大) 选择排序的思路: 按照升序的排序,设有10个元素,从第一个开始和其余求个进行比较,最小的放在第一个数,再将第二个数和余下8个进行比较,再将最小的放在第二位,一直到 ...

  9. c语言代码先来先服务算法_C语言十大经典排序算法(动态演示+代码,值得收藏)...

    以前也零零碎碎发过一些排序算法,但排版都不太好,又重新整理一次,排序算法是数据结构的重要部分,系统地学习很有必要. 时间.空间复杂度比较 排序算法 平均时间复杂度 最差时间复杂度 空间复杂度 数据对象 ...

最新文章

  1. python程序员一天写多少行代码-这个工具,30分钟居然把我一天的工作给干完了!...
  2. 推荐算法矩阵分解实战——keras算法练习
  3. mysql windows 安装_Windows 安装 Mysql(zip格式)
  4. Linux下gcc编译生成动态链接库*.so文件并调用它
  5. NLP文本相似度 - LCS(最长公共子序列)java代码
  6. Ubuntu root账号的使用
  7. matlab求傅里叶级数展开式_明明学过积分和三角函数就能秒理解傅里叶变换.........
  8. JAVA语法基础作业——动手动脑以及课后实验性问题 (七)
  9. Linux CH340驱动安装
  10. 美国旅游签证申请的行程单参考模板
  11. 【EDA课程设计】FPGA交通信号灯的设计(含动画视频、超详细思路/步骤分析、完整代码与效果详解)
  12. python判断字符串为空,Python判断字符串是否为空和null方法实例
  13. 基于Qt的屏幕共享工具(含源码)
  14. 最新卡巴斯基互联网安全套装7.0(kis7)系列激活码
  15. ubuntu 装机必备软件
  16. 正则表达式 /^[0-9]+$/
  17. Digital Twin 数字孪生 工业4.0 SCADA 物联网
  18. Android音频AAC硬编码
  19. u盘启动 联想一体机_联想一体机如何设置U盘启动
  20. 无约束优化问题(一)

热门文章

  1. 阿里技术专家对 SRE 的解读
  2. 大促场景系统稳定性保障实践经验分享
  3. 正确入门Service Mesh:起源、发展和现状
  4. 机器学习效率正在超越摩尔定律
  5. 性能提升2.58倍!阿里最快KV存储引擎揭秘
  6. linux沙箱隔离_Linux沙箱技术介绍
  7. 天刀手游制作人亲笔详解制作思路
  8. 【逐帧分析】《黑神话:悟空》gameplay相关的技术和调整细节整理
  9. 暗黑破坏神不朽:诅咒宝箱不能开?玩家果断打开后,赚到了
  10. Win7删除休眠文件