/*
题目:有两个磁盘文件c.txt(abcdefghijklmnopqrstu)和d.txt(helloworld),各存放一行字母,
要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件e.txt中。
*/
#include<stdio.h>
#include<string.h>
#include<math.h>
void bubbleSort(char a[],int n){
int i,j;
char temp;
for(i=0;i<n-1;i++){
for(j=0;j<n-i-1;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
int main()
{
FILE *fpc=fopen("d:\\c.txt","r");
FILE *fpb=fopen("d:\\b.txt","r");
FILE *fpe=fopen("d:\\e.txt","wb+");
if(fpc==NULL||fpb==NULL||fpe==NULL){
printf("error");
return 0;
}
char chc[128],chb[128];
int i=0,j=0,len;
fscanf(fpc,"%s",chc);
fscanf(fpb,"%s",chb);
strcat(chc,chb);
len=strlen(chc);
bubbleSort(chc,len);
for(i=0;i<len;i++){
fprintf(fpe,"%c",chc[i]);
}
fclose(fpc);
fclose(fpb);
fclose(fpe);
return 0;
}
/*
有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),
输出到一个新文件C中
*/
#include<stdio.h>
#include<math.h>
#include<malloc.h>
#include<string.h>
main()
{
FILE *f=fopen("e://test.txt","w");
FILE *fa=fopen("e://a.txt","r");
FILE *fb=fopen("e://b.txt","r");
if(f==NULL||fa==NULL||fb==NULL){
return 0;
}
char temp,a[100],b[100];
int i,j,k;
fscanf(fa,"%s",a);
fscanf(fb,"%s",b);
for(i=0;a[i]!='\0';i++);
for(j=0;b[j]!='\0';j++){
a[i]=b[j];
i++;
}
a[i]='\0';
for(i=0;a[i]!='\0';i++){
for(j=0;j<strlen(a)-i-1;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
puts(a);
fprintf(f,"%s",a);
fclose(f);
fclose(fa);
fclose(fb);
}