C语言冒泡排序源程序
1、代码源程序为:
#include<stdio.h>
#include<math.h>
#define ok 1
int main()
{
int sort(int azz[],int n );
int arr[7];
int i,j;
printf("请输入几个整数:\n");//七个以内的数
for(j=0;j<;j++)
scanf("%d",&arr[j]);
sort(arr,7);
printf("请输出arr[]中的数:");
for(i=0;i<7;i++)
printf("%3d",arr[i]);
printf("\n");
return 0;
}
int sort(int azz[],int n)
{
int t,i,j;
for(i=0;i<n;i++)
for( j=0;j<n-1;j++)
{
if(azz[j]>azz[j+1])
{
t=azz[j];
azz[j]=azz[j+1];
azz[j+1]=t;
}
}
return ok;
}

2、此程序含有一维数组
一般形式:类型符 数组名[常量表达式];
说明:
数组名是一个地址常量,不能对数组进行赋值和运算;
在定义数组时,数组的元素个数必须是常量。int n=3; int a[n]; 就是错误的形式;
数组元素的下标必须从0开始。

3、程序还运用到了“函数调用”
一般形式:
函数名(实参表列)
注意:
在主函数中对调用函数进行说明,则只能在主函数中调用;
在主函数前对调用函数进行说明,则能在主函数和其后的其他函数中调用;

4、可以看到,执行了调用函数后,你所输入的无序数字,在输出后变成了有序的数字。这是由于形参数组azz已用冒泡排序对输入的数字进行了排序,形参数组改变,使得实参数组也随之改变了。

5、冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

6、输入数字时,一定要注意输入时,应该输入一个数字就要回车,才能保证输入的数字个数不超过数组所要求的长度。
