有两个磁盘文件A、B,各存放一行字母,要求把这两个文件中的信息按字母顺序排列合并,输出到一个新文件C中。

admin2010-04-24  28

问题 有两个磁盘文件A、B,各存放一行字母,要求把这两个文件中的信息按字母顺序排列合并,输出到一个新文件C中。

选项

答案可先分别将A、B文件的内容读出放到数组C中,再对数组C排序,最后再将数组内容写到文件C中,程序为: #include<stdio.h> main() /*合并A、B文件内容到C文件中*/ { FILE*fp; int i,j,n,m; char c[160],t,ch; if((fp=fopen("A","r"))==Null) { printf("文件A can’t open\n"); exit(0); } else { printf("\n文件A的内容为\n") for(i=0;(ch=fgetc(fp))!=EOF:i++) { C[i]=oh; putchar(C[-i]); } fclose(fp); m=i; } if((fp=fopen("B","r")==Null) { printf("B文件can’t open\n"); exit(0); } else { printf("\nB文件内容是\n"); for(i=m;(ch=fgetc(fp))!=EOF;i++) { C[i]=ch; putchar([i]); } fclose(fp); } n=i;/*排序*/ for(i=0;i<n;i++) for(j=i+1;j<m,j++) if(C[i]>c[j]) { t=c[i]; c[i]=c[j]; c[j]=t; } printf("\nC文件是\n"); fp=fopen("c","w") /* 写入C文件中*/ for(i=0;i<m;i++) {putchar(c[i],fp); putchar(c[i]); } fclose(fp); } /*main*/

解析
转载请注明原文地址:https://kaotiyun.com/show/WuAx777K
本试题收录于: 数据结构题库理工类分类
0

随机试题
最新回复(0)