有两个磁盘文件c.txt(abcdefghijklmnopqrstu)和d.txt(helloworld),各存放一行字母, 要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件e.txt中。
/* 题目:有两个磁盘文件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); }