帮忙用c语言写一个关于查找关键字的程序~~~~~

作者&投稿:圭眉 (若有异议请与网页底部的电邮联系)
用C语言编写一个快速文件检索程序,检索关键字~

#includemain(){ char *ptr, filename[50];/*定义变量及数组为字符型*/ printf("please input the file name you want to search:
"); scanf("%s", filename);/*输入要查找的文件名*/ if ((ptr = searchpath(filename)) != NULL) printf("the path is:%s
", ptr);/*将文件所在的路径输出*/ else printf("cannot find");/*若文件未找到,输出双引号内提示信息*/}

问题是这样:C语言编写函数int fun(char *s,char *c), 函数的功能是查找母串s中,字串c出现的次数.
答案是这样:
#include
#include
int fun(char*s,char*c)
{
int i=0,j=0,k,n=strlen(c),a=0;
while(s[i])
{
if(s[i]==c[j])
{ for(k=1;(s[i+k]&&c[i+k])&&(s[i+k]==c[j+k]);k++);
if(k==n)
a++;
i+=n;
}
else
i++;
}
return a;
}
void main()
{
char s[40],c[20];
int m=0;
gets(s);
gets(c);
m=fun(s,c);
printf("%d
",m);
}
你把它改为文件不就行了!你也是知道的算法思想是一样的!

#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

关键字的格式要加回车

如果学过数据结构的话,考虑模式匹配算法吧。

这种东西建议还是自己谢谢比较好,呵呵

这个要考虑到很多问题,不是那么简单的。
在这里估计没有人帮你做咯。

找个你认识的朋友帮你做吧,或者给钱让别人帮你做。


c语言中忙标志位是什么?在程序中如何应用?最好通俗易懂详细一点。谢谢...
忙标志位就是说当你在执行这个东西的时候不能被其它的东西打断,所以我们就做一个标志位让其它的程序不能打断这个正在执行的这个程序。应用就比如说单片机的中断吧:中断如果满足条件是随时都可以进入程序的,不管你正在干什么!这样就麻烦了,有的时候我们一定要把这个事情做完才能中断,那么怎么办呢?我们...

帮个忙,怎么用C语言做这个程序?1的三次方,一直加到N的三次方,要求输入...
sum+=i*i*i;printf("\\n%d",sum);}

求大虾帮个忙,写个用C语言的程序,小弟感激不尽!
void main(){ int type=1;float foot1,inch1,m1;printf("请输入转换关系:1.英寸转换为米、2.米转换为英寸\\n");scanf("%d",&type);if(type==1){ printf("请输入英尺、英寸:\\n");scanf("%f%f",&foot1,&inch1);m1=(foot1*12+inch1)*2.54\/100;printf("%g英尺%g英寸=%g米\\n",...

求c语言大神帮个忙啊啊啊
include<stdio.h>main(){int a,b,i;while(1){scanf("%d%d",&a,&b);for(i=0;i<=a;i++) if(2*i+4*(a-i)==b) printf("鸡%d只,兔%d只\\n",i,a-i);} }如图所示,3个图,望采纳。。。

用C语言写下面的程序 具体请参考图片 麻烦大神们帮下忙
age;}stud[NUM];void add(){struct student s;FILE *fp;char ch;if((fp=fopen("list.txt","a+"))==NULL){fprintf(stderr,"Can't open the file\\n");exit(1);}printf("请输入要增加的学生学号:");scanf("%s",s.id);getchar();printf("请输入要增加的学生姓名:");scanf(...

C语言高手帮个忙,设计一个选数字程序,数字为 1 -10 ,10个数字,随机筛选...
include<stdio.h>#includeint main(){ int i=1,j=0; int a[10]={1,2,3,4,5,6,7,8,9,10}; srand(time(NULL)); while(i<=10) { j=rand()%10; if(a[j]!=0) { printf("第%d个数为:%d\\n",i,a[j]); a[j]=0; i++; } ...

请C语言大神帮个忙
void dfs(int x,int y){ if(!mat[x][y] || vis[x][y]) return;vis[x][y]=1;dfs(x-1,y-1);dfs(x-1,y+1);dfs(x-1,y);dfs(x,y-1);dfs(x,y+1);dfs(x+1,y-1);dfs(x+1,y+1);dfs(x+1,y);} void main(){ int i,j,n;char s[100];memset(mat,0,...

会C语言的朋友帮个忙啊 帮我编个小程序
我的 会C语言的朋友帮个忙啊 帮我编个小程序 一、总体要求1、对实际问题进行分析、写出算法分析。2、设计程序结构3、给出设计的各模块。4、提交各应用程序的源程序清单。6、课程设计选择turboc二、课程设计的内容和具体要求主要包... 一、总体要求1、对实际问题进行分析、写出算法分析。2、设计程序结构3、给...

求助:简单C语言程序设计,请高手帮下忙
make(); \/\/生成1000以内素数,存入d数组。若 d[i] 为素数,则 d[i]=0;否则,d[i]=1。for(i=6;i<=1000;i+=2) \/\/ 偶数2 4 不讨论 if(pd(i)==0) p=0; \/\/ 这里仅仅判断是否符合条件 就不输出了 如果需要输出 你可以加上 或者从补充回答里问我 我看到会回复的 if(p==...

关于C语言程序设计的几道题。学霸们帮一下忙吧。
if(str[i]!=str[t-i-1]){ printf("所输入的字符串不是回文字符串\\n");return 0;} printf("所输入的字符串是回文字符串\\n");} 第五题:include <stdio.h> include <string.h> int main(){ int a[3][4];int b[4][3];int i,j;for(i=0;i<3;i++)for(j=0;j<4;j++)...

和县19530297505: 帮忙用c语言写一个关于查找关键字的程序~~~~~ -
剑逸启脾: #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...

和县19530297505: 用C语言编写一个快速文件检索程序,检索关键字 -
剑逸启脾: 123456789101112 #include<stdio.h> 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");/*若文件未找到,输出双引号内提示信息*/ }

和县19530297505: 输入任意多个关键字,按各种查找方法查找某个关键字.(用C语言描述) -
剑逸启脾: h"=10;n2,&a[i]);j<for(i=1;t[i]=t[j];typedef struct {char *elem;scanf("return i,k);;) getchar(),s);A[%d] is;} }int searth(char *t;else printf("t[j]) {s=t[i];n"for (i=1;;;s=searth(t;n A[%d] is %c"1:can not find it \,high=10;i++)for (j=i+1;output(t);void ...

和县19530297505: 用C语言编写一个从普通文本字符串中查找给定字符串(关键词)的程序.(急,求真大神解答) -
剑逸启脾: 问题是这样:C语言编写函数int fun(char *s,char *c), 函数的功能是查找母串s中,字串c出现的次数. 答案是这样: #include<stdio.h> #include<string.h> int fun(char*s,char*c) { int i=0,j=0,k,n=strlen(c),a=0; while(s[i]) { if(s[i]==c[j]) { for(k=1;(s[i+k]&&c[...

和县19530297505: 求一个C语言的程序 要求能检索关键字 -
剑逸启脾: #include int count(const char *data, const char *key) { /*在data中查找key出现的次数*/ const char *pos=data; int result=0,len=strlen(key); while((pos=(strstr(pos,key)))!=NULL) { ++result; if(pos[len]=='\0') break; else pos+=len;} return result; } int ...

和县19530297505: 怎样利用c语言编写一个程序在一个字符串数组中查找一个指定的字符并输出他第一次 -
剑逸启脾: #include<stdio.h> #include<string>void main() {char a[20],c; //a[20]为字符串,c为要查找字符int i,n[5],num = 0,j = 0; //i,j为计数器,n[5]纪录下标,num记录个数printf("请输入字符串(少于20个字符)\n");gets(a);printf("请输入要查找...

和县19530297505: C语言中如何在文件内查找关键字并替换? -
剑逸启脾: 获取关键字,得到它的长度,然后从操作文件中读取这么长的字符串,进行比较,把文件指针指向下一个字符(注意,要一个字符一个字符的向下进行),这样就可以把需要的关键字找出来,如果想替换的话,把读取出的数组改成想要得再写入,最后别忘记fclose();

和县19530297505: C语言 编写一个程序 从该文件中查找某个字符(该字符可以输入),如果查找成功 -
剑逸启脾: #include void Input() { FILE *fp; if((fp = fopen("file1.txt","w")) ==NULL) { exit(1); } char a; printf("输入一串字符,以$结束\n"); while(scanf("%c",&a) && a!= '$') { fputc(a,fp); } fflush(stdin); fclose(fp); } int Find(char c) { FILE *fp; int flag = 0; ...

和县19530297505: 谁能用c语言帮我写个二分法的查找程序?? -
剑逸启脾: #includevoid sort(int a[],int n){ /*排序函数,要使用二分法查找就必须对数组进行排序*/ int i,k; for(i=0;ia[k])min=k; if(i!=min){ a[min]+=a[i];/*这里是运用加减法交换两个数*/ a[i]=a[min]-a[i]; a[min]-=a[i]; } } } int find(int a[],int n,int key){/*二分法查找;参...

和县19530297505: 查找.c文件的关键字,用基本的C语言编写,不要c++ -
剑逸启脾: 这是查找一个文件的程序.上此有谁问了 类似 grep 程序, (用于查找 许多文件),我给了,在知道里查一下应能发现. #include #include #define Buff_size 4096 void search(char * target_string); void clean_it(char * buff, int N_size); char target_...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网