/* 这个冒泡法排序可以实现“可变长数组的排序”问题。 因为数组的大小是从实参传进来的。 */ #include<stdio.h> void sort(int n) { int i,j,t; int a[n]; printf("请输入%d个整数:"); for(i=0;i<n;i++){ scanf("%d",&a[i]); } printf(" 排序之前的数组顺序是:"); for(i=0;i<n;i++){ printf("%d ",a[i]); } printf(" 用冒泡法对数组进行排序,"); for(i=0;i<n-1;i++){ for(j=0;j<n-1-i;j++){ if(a[j] > a[j+1]){ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } } printf("排序后的数组顺序是: "); for(i=0;i<n;i++){ printf("%d ",a[i]); } return; } int main() { sort(5); return 0; }