操作方法
代码源程序为: #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; }
此程序含有一维数组 一般形式:类型符 数组名[常量表达式]; 说明: 数组名是一个地址常量,不能对数组进行赋值和运算; 在定义数组时,数组的元素个数必须是常量。int n=3; int a[n]; 就是错误的形式; 数组元素的下标必须从0开始。
程序还运用到了“函数调用” 一般形式: 函数名(实参表列) 注意: 在主函数中对调用函数进行说明,则只能在主函数中调用; 在主函数前对调用函数进行说明,则能在主函数和其后的其他函数中调用;
可以看到,执行了调用函数后,你所输入的无序数字,在输出后变成了有序的数字。这是由于形参数组azz已用冒泡排序对输入的数字进行了排序,形参数组改变,使得实参数组也随之改变了。
冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
输入数字时,一定要注意输入时,应该输入一个数字就要回车,才能保证输入的数字个数不超过数组所要求的长度。