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。 展开
(同一个数在文件f3.c中最多只能出现一次,文件f1.c,f2.c,f3.c都存于你的帐号目录下,否则无成绩)中,
文件中的相邻两个整数都用空格隔开,每10个换行,文件f1.c,f2.c中的整数个数都不超过2000。 展开
展开全部
#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]);
}
#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]);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询