# 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冒泡排序。
第一次发表博文若有不足之处还请大家多多包涵哦~。
来源:https://www.cnblogs.com/Sherlock-Holmes/archive/2011/12/22/2298361.html