帮忙用c语言写一个关于查找关键字的程序~~~~~
答案:4 悬赏:70
解决时间 2021-03-02 11:28
- 提问者网友:无依无靠的距离
- 2021-03-02 04:49
某一 段c语言的源程序代码一文件存储方式,文件中含有字母,数字以及其他字符。对文件中的c语言的 关键字,进行扫描统计。建立c语言关键字的数据文件key.txt,从源程序文件old.txt中读取字符以及字符串,同关键字文件中的关键字进行比较,并且统计文件 old.txt中关键字的使用次数。将关键字使用情况存放在文件out.txt中并显示输出到屏幕。其他字符不提取。
最佳答案
- 二级知识专家网友:花一样艳美的陌生人
- 2021-03-02 05:08
#include<stdio.h>
#include<string.h>
ha(FILE *fp,char *y)
{char c,k[20];
int i=0;
if(feof(fp))
return 0;
while(!feof(fp))
{c=fgetc(fp);
if(c!='\n')
{k[i]=c;
i++;}
else {k[i]='\0';
strcpy(y,k);
return 0;}
}
}
sho(FILE *fp,char *a)
{FILE *fp1;
int i=0,k=0;
char c;
while(!feof(fp))
{c=fgetc(fp);
if(c==*(a+i))
i++;
else i=0;
if(i==strlen(a))
{k++;
i=0;}
}
return k;
}
main()
{FILE *fp2,*fp1,*fp3;
char a[20];
int i=0;
fp1=fopen("key.txt","r");
fp3=fopen("Out.txt","w");
while(!feof(fp1))
{fp2=fopen("old.txt","r");
if(ha(fp1,a))
return 1;
i=sho(fp2,a);
printf("%d",i);
getch();
if(i!=0)
{fprintf(fp3,"%s:%d\n",a,i);
printf("%s:%d\n",a,i);
i=0;}
fclose(fp2);
}
}
文件KEY.TXT的关键字格式为:
int
char
FILE
if
关键字的格式要加回车
#include<string.h>
ha(FILE *fp,char *y)
{char c,k[20];
int i=0;
if(feof(fp))
return 0;
while(!feof(fp))
{c=fgetc(fp);
if(c!='\n')
{k[i]=c;
i++;}
else {k[i]='\0';
strcpy(y,k);
return 0;}
}
}
sho(FILE *fp,char *a)
{FILE *fp1;
int i=0,k=0;
char c;
while(!feof(fp))
{c=fgetc(fp);
if(c==*(a+i))
i++;
else i=0;
if(i==strlen(a))
{k++;
i=0;}
}
return k;
}
main()
{FILE *fp2,*fp1,*fp3;
char a[20];
int i=0;
fp1=fopen("key.txt","r");
fp3=fopen("Out.txt","w");
while(!feof(fp1))
{fp2=fopen("old.txt","r");
if(ha(fp1,a))
return 1;
i=sho(fp2,a);
printf("%d",i);
getch();
if(i!=0)
{fprintf(fp3,"%s:%d\n",a,i);
printf("%s:%d\n",a,i);
i=0;}
fclose(fp2);
}
}
文件KEY.TXT的关键字格式为:
int
char
FILE
if
关键字的格式要加回车
全部回答
- 1楼网友:荒唐后生
- 2021-03-02 08:22
如果学过数据结构的话,考虑模式匹配算法吧。
这种东西建议还是自己谢谢比较好,呵呵
- 2楼网友:兮沫♡晨曦
- 2021-03-02 07:15
#include
main()
{
char *ptr, filename[50];
printf("please input the file name you want to search:\n");
scanf("%s", filename);
if ((ptr = searchpath(filename)) != null)
printf("the path is:%s\n", ptr);
else
printf("cannot find");
}
- 3楼网友:甜野猫
- 2021-03-02 05:54
这个要考虑到很多问题,不是那么简单的。
在这里估计没有人帮你做咯。
找个你认识的朋友帮你做吧,或者给钱让别人帮你做。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |