通过冒泡排序你实现对任意输入的20个数排序

荒凉一梦 提交于 2019-12-22 15:14:15

# include <stdio.h>


void sort(int * a, int len)
{
  int i, j, t;
  //进行len次循环,实现len次比较。
  for (i=0; i<len-1; ++i)
  {
    //在len次循环中实现len-1次比较。
    for (j=0; j<len-1-i; ++j)
    {
      // >表示升序 <表示降序,对相邻两个数字进行比较。
      if (a[j] > a[j+1])
      {
        t = a[j];
        a[j] = a[j+1];
        a[j+1] = t;
      }
    }
  }
}

int main(void)
{
  //定义整形变量 i 和整形数组 a。
  int i;
  int a[20];

  printf("请随即输入20个数字\r\n");

  //通过循环实现给数组赋值。
  for (i=0; i<20; i++)
  {
    scanf("%d", &a[i]);
  }
  //调用 sort 函数。
  sort(a, 20);
  printf("排序后输出结果\r\n");
  //对已经排好序的数字进行输出。
  for (i=0; i<20; ++i)
  {
    printf("%d ", a[i]);
    printf(" ");
  }
  printf("\r\n");

  return 0;
}

注释的汉子和代码一样多 O(∩_∩)O哈哈~

此程序灰常方便童鞋们看懂C冒泡排序。 

第一次发表博文若有不足之处还请大家多多包涵哦~。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!