#include "stdio.h"
#include <malloc.h>
typedef struct
{
int key;
}RecType;
void BubbleSort(RecType R[],int n)
{
int i,j,exchange;
for(i=1;i<n;i++)
{
exchange=0;
for(j=n-1;j>=i;j--)
if(R[j+1].key<R[j].key)
{
R[0]=R[j+1];
R[j+1]=R[j];
exchange=1;
}
if(!exchange)
break;
}
}
int main()
{
int n;
scanf("%d",&n);
RecType *p;
p = (RecType *)malloc((n+1)*sizeof(RecType ));
int i;
for(i=1;i<=n;i++)
{
scanf("%d",&p[i].key);
}
for(i=1;i<=n;i++)
{
printf(" %d",p[i]);
}
BubbleSort(p,n);
for(i=1;i<=n;i++)
{
printf(" %d",p[i]);
}
free(p);
return 0;
}
请帮我改一下错,谢谢!