C语言文件编程题目,速求解!!!~~谢谢!!! 5

编一c程序,他能读入文本文件f1.c和f2.c中的所有整数,并把这些数按从大到小的次序写到文本文件f3.c(同一个数在文件f3.c中最多只能出现一次,文件f1.c,f2.... 编一c程序,他能读入文本文件f1.c和f2.c中的所有整数,并把这些数按从大到小的次序写到文本文件f3.c
(同一个数在文件f3.c中最多只能出现一次,文件f1.c,f2.c,f3.c都存于你的帐号目录下,否则无成绩)中,
文件中的相邻两个整数都用空格隔开,每10个换行,文件f1.c,f2.c中的整数个数都不超过2000。
展开
 我来答
zhaoyongfa1
2010-11-04 · TA获得超过123个赞
知道答主
回答量:63
采纳率:0%
帮助的人:53.3万
展开全部
#include<stdio.h>
#include <stdlib.h>
main()
{
FILE * fp;
int a[2000],b[2000],c[4000],m,n,cn,i,j,t;
fp=fopen("f1.c","r");
for(m=0;!feof(fp);m++)
fscanf(fp,"%d ",&a[m]);
fclose(fp);
fp=fopen("f2.c","r");
for(n=0;!feof(fp);n++)
fscanf(fp,"%d ",&b[n]);
fclose(fp);

for(i=0;i<m-1;i++)
for(j=i+1;j<m;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
i=0;j=0;cn=0;
while(i<m&&j<n)
{if(a[i]<b[j]) t=a[i++];
else if(a[i]>b[j])t=b[j++];
else {t=a[i];i++;j++;}
if(t!=c[cn-1])c[cn++]=t;
}
while(i<m)
{if(a[i]!=c[cn-1])
c[cn++]=a[i];
i++;
}
while(j<n)
{if(b[j]!=c[cn-1])
c[cn++]=b[j];
j++;
}
for(i=0;i<cn;i++)
printf("%5d",c[i]);
}
shmily0968
2010-11-02
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
用readFile和WriteFile读写文件就可以了,读出来后做个比较写到f3.c文件里就可以了,这个只是考你对文件的操作,中间会用到冒泡排序法排序,不难,希望可以帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-11-01
展开全部
只会pascal- -分别从两个文件读取,然后排序,文件输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式