![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
求助高手帮助编个小程序~~在线等!
文件A.txt中是100个人的名字,文件B.txt中是1000个人的名字和他们对应的年龄。程序要求:在文件B的1000个人中,找出文件A中出现的100个人,并输出他们的名...
文件A.txt中是100个人的名字,文件B.txt中是1000个人的名字和他们对应的年龄。
程序要求:在文件B的1000个人中,找出文件A中出现的100个人,并输出他们的名字和对应年龄。(C语言编写)大概写出模板即可,谢谢高手们~~~ 展开
程序要求:在文件B的1000个人中,找出文件A中出现的100个人,并输出他们的名字和对应年龄。(C语言编写)大概写出模板即可,谢谢高手们~~~ 展开
2个回答
2012-07-13
展开全部
#include <stdio.h>
#include <string.h>
#define A 100
#define B 1000
void main()
{
int i,j,age[B];
char name_a[A][20]={0},name_b[B][20]={0};
FILE *fp;
if((fp=fopen("a.txt","rt"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<A;i++)
fscanf(fp,"%s\n",name_a[i]);
fclose(fp);
if((fp=fopen("b.txt","rt"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<B;i++)
fscanf(fp,"%s %d\n",name_b[i],&age[i]);
fclose(fp);
for(i=0;i<B;i++)
for(j=0;j<A;j++)
if(strcmp(name_b[i],name_a[j])==0)
printf("%s %d\n",name_b[i],age[i]);
}
#include <string.h>
#define A 100
#define B 1000
void main()
{
int i,j,age[B];
char name_a[A][20]={0},name_b[B][20]={0};
FILE *fp;
if((fp=fopen("a.txt","rt"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<A;i++)
fscanf(fp,"%s\n",name_a[i]);
fclose(fp);
if((fp=fopen("b.txt","rt"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<B;i++)
fscanf(fp,"%s %d\n",name_b[i],&age[i]);
fclose(fp);
for(i=0;i<B;i++)
for(j=0;j<A;j++)
if(strcmp(name_b[i],name_a[j])==0)
printf("%s %d\n",name_b[i],age[i]);
}
追问
在线吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询