编辑代码

#include <stdio.h>

void main()
{
	int bubble(int a[], int len);
    int a[6]={-1,23,2,13,4,15},f; // a[0]用于占位
	printf("\n");
	printf("原序列:");
	for(f=1;f<6;f++){
		printf(" %d ",a[f]);
	};
	printf("\n");
    int c;
	int len=5; 
    c=bubble(a, len);
}

int bubble (int R[],int n){
	int i,j,exchange,f;
	int temp;
	i=1;
	printf("\t i=%d n=%d \n",i,n);
	printf("\n");
	do {
		exchange=0;
		for(j=n;j>=i+1;j--){
			//printf("do  i=%d  j=%d\n", i, j);
			//排序交换
			int n=R[j];
			int m=R[j-1];
			int b=m>n;
			printf("j=%d j=%d 比较 %d %d 后 %d:  ",i,j,m,n, b);
			if(R[j]<R[j-1]){
				temp=R[j-1];
				R[j-1]=R[j];
				R[j]=temp;
				exchange=1;
			}; // if
			for(f=1;f<6;f++){
				printf(" %d ",R[f]);
			};
			printf("\n");
		}; // for
		i=i+1;
	} while(exchange==1); //正确答案: exchange==1
	printf("\n");
	printf("\n");
	printf("排序后:");
	for(f=1;f<6;f++){
		printf(" %d ",R[f]);
	};
	return 0;
}