编写函数void sort(int*x,int n),对一维数组x的n个数组元素按升序进行排列。编写主函数,从第一题的文本文件1.dat中读取数据,存放到一维数组a中,调用sort函数,对数组a进行排序,并将排序后的各数组元素写入文本文件2.dat中
#include<stdio.h>
#include<stdlib.h>
void sort(int *x,int n)
{int i,j,t;
for(i=0;i<n-1;i++)
{for(j=0;j<n-i-1;j++)
if(*(x+j)>*(x+j+1))
{t=*(x+j);
*(x+j)=*(x+j+1);
*(x+j+1)=t;
}
}
}
main()
{int a[10],i;
FILE *fp;
if((fp=fopen("1.dat","r"))==NULL)
{printf("open file error!\n");
exit(0);
}
sort(a,10);
if((fp=fopen("2.dat","w"))==NULL)
{printf("open file error!\n");
exit(0);
}
for(i=0;!feof(fp);i++)
fscanf(fp,"%d",a+i);
fclose(fp);
for(i=0;i<10;i++)
fprintf(fp,"%4d",a[i]);
fclose(fp);
}
哪里有错?