![]() |
#2
D22845814702019-12-27 14:46
|
【问题描述】编一个程序,合并两个已按递增排序的整数文件成一个按递增排序文件。
【输入形式】输入两个文件,文件名分别为1.txt和2.txt,在两个文件中分别输入已经排好序的整数,整数之间用单个空格隔开
【输出形式】输出按递增排好序的文件3.txt,输出文件中的整数用单个空格分隔
【样例输入】1.txt中内容为:1 3 4 5;2.txt中内容为:6 7 8
【样例输出】3.txt中内容为:1 3 4 5 6 7 8
【样例输入】1.txt中内容为:1 3 5;2.txt中内容为:2 4 6
【样例输出】3.txt中内容为:1 2 3 4 5 6
【样例说明】
【评分标准】

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int A,B;
FILE *fp,*fq,*pr;
if((fp=fopen("1.txt","r"))==NULL)
{
printf("打开文件失败1\n");
getchar();
exit(1);
}
if((fq=fopen("2.txt","r"))==NULL)
{
printf("打开文件失败2\n");
getchar();
exit(1);
}
if((pr=fopen("3.txt","w"))==NULL)
{
printf("打开文件失败3\n");
getchar();
exit(1);
}
A=fgetc(fp);
B=fgetc(fq);
while(A!=EOF && B!=EOF)
{
if(A<B)
{
fputc(A,pr);
A=fgetc(fp);
}else
{
fputc(B,pr);
B=fgetc(fq);
}
}
while(A!=EOF)
{
fputc(A,pr);
A=fgetc(fp);
}
while(B!=EOF)
{
fputc(' ',pr);
fputc(B,pr);
B=fgetc(fq);
}
fclose(fp);
fclose(fq);
fclose(pr);
getchar();
return 0;
}
只有本站会员才能查看附件,请 登录