长方形组员排序c语言设计思路_C语言 | 选择法排序

“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一”

——包租婆 这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。 那么如何学习呢? 当然是每天都练习一道C语言题目!!

98bb1d29a431112ff8f596f20b18c1c0.png

作者

闫小林

白天搬砖,晚上做梦。我有故事,你有酒么?

例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//头文件 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]=1array[1]=4array[2]=7array[3]=9array[4]=4array[5]=3array[6]=7array[7]=9array[8]=5array[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
请按任意键继续. . .
想看快速排序,归并排序各种排序的点赞告诉我啦135b2dae3b12573773df28f767c1f06b.png 以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~ C语言学习路线     C语言开发工具 C++学习路线     C#学习路线 长按关注

11bb90ac7b5268ce24ed3f0bcfa9fcbc.png

学习C/C++不迷路 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值