原创 闫小林 C语言入门到精通 2020-12-01

收录于话题

#小林C语言实战

103个

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

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

C语言 | 冒泡排序_C语言


作者

闫小林

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



例23:C语言实现从小到大对10个数进行排序,要求使用冒泡排序实现。
解题思路:排序的规律有两种:一种是“升序”,从小到大;另一种是“降序”,从大到小。
源代码演示:

#include<stdio.h>//头文件 
int main()//主函数 
{
  int i,j,t;//定义整型变量 
  int array[10];//定义数组大小 
  printf("请输入十个数:");//提示语句 
  for(i=0;i<10;i++)//手动往数组里输入10个数 
  {
    scanf("%d,",&array[i]);//注意&符号 
  } 
  for(j=0;j<9;j++)//外层循环限制 
  {
    for(i=0;i<9-j;i++)//内存循环 
    if(array[i]>array[i+1])//如果前一个数比后一个数大 
    {
      t=array[i]; //把小的数赋值给前面,大的数赋值给后面 
      array[i]=array[i+1];
      array[i+1]=t;
    }
  } 
  printf("按照从小到大的顺序排序:");//提示语句 
  for(i=0;i<10;i++)//循环输出10个数 
  {
    printf("%d ",array[i]);
  } 
  printf("\n");//换行 
  return 0;//函数返回值为0 
}

编译运行结果如下:
请输入十个数:9 8 4 1 6 2 7 4 10 9
按照从小到大的顺序排序:1 2 4 4 6 7 8 9 9 10

--------------------------------
Process exited after 20.46 seconds with return value 0
请按任意键继续. . .