谢谢各位!
这个是我自己修改好的了
#include<stdio.h>
void BubbleSort(float a[],int n,int *p);
int main(void)
/*冒泡排序的改进*/
{
float a[10]={20,18,191,123,12,101,51,3,2,11};/*{3,3.1,5,4,10,25.1,2.9,4,7,3.3}*/
int n,b;
BubbleSort(a,10,&b);
for(n=0;n<10;n++)
printf(" %f",a[n]);
printf("\n");
printf("b=%d\n",b);
system("pause");
return(0);
}
void BubbleSort(float a[],int n,int *p)
{
int i,j,k;
float temp;
*p=0;
for(j=0;j<10-1;j++)
{
for(k=0,i=0;i<10-j-1;i++)
{
if(a[i]<a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
k=1;
*p=j+1;
}
}
if(k=0)
break;
}
}