2.题目:编一个C程序,它能读入文件f1.c和f2.c中的所有整数,并把这些数按从小到大的次序写到文件f3.c中,文件中的相邻两个整数都用空格或换行符隔开。(注:可执行文件名为e9_2.exe) 
程序设计: 
#include "stdio.h" 
main() 
{FILE *fp1,*fp2,*fp3; 
int a[100],n,i,j,k,x; 
if ((fp1=fopen("f1.c","wb"))==NULL) 
{printf("f1.c can not open!\n"); 
exit(0); 
} 
x=9999; 
while (x!=-9999) 
{scanf("%d",&x); 
if (x!=-9999) fwrite(&x,sizeof(int),1,fp1); 
} 
fclose(fp1); 
if ((fp2=fopen("f2.c","wb"))==NULL) 
{printf("f2.c can not open!\n"); 
exit(0); 
} 
x=9999; 
while (x!=-9999) 
{scanf("%d",&x); 
if (x!=-9999) fwrite(&x,sizeof(int),1,fp2); 
} 
fclose(fp2); 
if ((fp1=fopen("f1.c","rb"))==NULL) 
{printf("f1.c can not open!\n"); 
exit(0); 
} 
if ((fp2=fopen("f2.c","rb"))==NULL) 
{printf("f2.c can not open!\n"); 
exit(0); 
} 
if ((fp3=fopen("f3.c","wb"))==NULL) 
{printf("f3.c can not open!\n"); 
exit(0); 
} 
i=-1; 
while (!feof(fp1)) 
fread(&a[++i],sizeof(int),1,fp1); 
fclose(fp1); 
i--; 
rewind(fp2); 
while (!feof(fp2)) 
fread(&a[++i],sizeof(int),1,fp2); 
fclose(fp2); 
n=i; 
for (k=1;k<n;k++) 
for (j=n-1,i=0;i<n-k;i++,j--) 
if (a[j]<a[j-1]) 
{x=a[j];a[j]=a[j-1];a[j-1]=x;} 
fwrite(a,sizeof(int),n,fp3); 
fclose(fp3); 
if ((fp3=fopen("f3.c","rb"))==NULL) 
{printf("f3.c can not open!\n"); 
exit(0); 
} 
while (!feof(fp3)) 
{fread(&x,sizeof(int),1,fp3); 
printf("%d ",x); 
} 
printf("\n"); 
}