紧急求救,大家帮帮忙。我这里有个程序。。建立两个文件,在文件中输入两个集合的元素,在将他们的交集输入到第三个文件中

xtfusljj 2008-04-01 05:57:10
#include<stdio.h>
void main( )
{
char ch, c;
FILE *fpa, *fpb, *fpc;
int n, k, count;
int i = 0, j = 0;
int a[1000];

printf("在磁盘中新建两个TXT文件,分别取名为a.txt,b.txt\n");
printf("分别在两个文件中输入两个集合的元素,输入完毕后以输入空格表示开始执行求交集.\n");

if((ch = getchar()) == ' ')
{
if((fpa = fopen( "a.txt", "r")) == NULL)
{
printf( "你在a文件中输入的为空,如果确定则按空格,若不确定请按任意键退出,重新执行文件并输入数据!");
if( ch = getchar() == ' ')
{
fpc = fopen( "c.txt", "w");
c = getchar( );
fputc(ch,fpc);
}
else printf( "关闭程序重新输入\n");
}
if((fpb = fopen( "b.txt", "r")) == NULL)
{
printf( "你在b文件中输入的为空,如果确定则按空格,若不确定请按任意键退出,重新执行文件并输入数据!");
if( ch = getchar() == ' ')
{
fpc = fopen( "c.txt", "w");
c = getchar( );
fputc(ch,fpc);
}
else printf( "关闭程序重新输入\n");
}
if(fclose(fpb))
{
printf( "不能关闭次文件\n");
exit(0);
}
while( !feof(fpa))
{

fscanf( fpa, "%d", &n);
while( !feof(fpb))
{
fpb = fopen( "b.txt", "r");
fscanf( fpb, "%d", &k);
if( n == k)
{
/*fopen( "c.txt","w");
fpc = fopen( "c.txt","w");
sprintf(fpc, "%d", &n);*/
a[i] = n;
i ++ ;
}
count = i;
}
if(fclose(fpb))
{
printf( "不能关闭次文件\n");
exit(0);
}
}
if(fclose(fpa))
{
printf( "不能关闭次文件\n");
exit(0);
}
for( i = 0; i <= count; i ++ )
{
for( j = i + 1; j <= count; j ++ )
{
if(a[i] == a[j])
{
for(; j <= count; j ++)
{
a[j] = a[j+1];
count -- ;
}
}
}
}
fpc = fopen( "c.txt", "w");
for( i = 0; i <= count; i ++ )
{
fprintf(fpc, "%d", a[i]);
}
}
}





...全文
79 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
laolaoliu2002 2008-04-01
  • 打赏
  • 举报
回复

while( !feof(fpa))
{

fscanf( fpa, "%d", &n);
while( !feof(fpb))
{
fpb = fopen( "b.txt", "r");
fscanf( fpb, "%d", &k);
if( n == k)
{
a[i] = n;
i ++ ;
}
count = i;
}
if(fclose(fpb))
{
printf( "不能关闭次文件\n");
exit(0);
}
}

这一段好象是死循环
laolaoliu2002 2008-04-01
  • 打赏
  • 举报
回复
你的程序逻辑好乱.
if((ch = getchar()) == ' ')
{
if((fpa = fopen( "a.txt", "r")) == NULL)------>在这里的时候没有读文件的内容
fpa、fpb全是空最后close的时候就出错了。
laolaoliu2002 2008-04-01
  • 打赏
  • 举报
回复
???问题出在那里

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧