文学研究助手
#include<stdio.h>
#include<string.h>
#define MAXSIZE 1000 //字符空间的最大容量
#define MAXLEN 20 //单词的最大长度
int Eachtimes(int i,char s[],char c[]){//统计每行文本中关键词出现的数目
char z[MAXLEN];
int num=0,b=0,j;
for(j=0;j<=strlen(s);j++){
if((s[j]>='A'&&s[j]<='Z')||(s[j]>='a'&&s[j]<='z'))
z[b++]=s[j];
else{
z[b]='\0';
b=0;
if(strcmp(z,c)==0)//判断每个单词是否与给定单词相同,若相同,则计数变量num +1
num++;
}
}
if(num!=0){
printf("该关键词在第%d行出现\n",i);
printf("出现的次数为%d\n",num);
}
else
printf("该关键词在第%d行没有出现\n",i);
return num;
}
int main()
{
int z=1,i=1,a[10],sum=0;
char s[MAXSIZE],c[MAXLEN];
printf("欢迎使用文学研究助手\n");
printf("请输入要检索的关键词:\n");
gets(c);
while(z==1){
printf("请输入第%d行的内容:\n",i);
gets(s);
sum+=Eachtimes(i,s,c);;
i++;
printf("请选择下一步的操作(输入1继续,输入0退出): ");
scanf("%d",&z);
getchar();//吞掉回车,以免这个回车被误认为下一次循环gets的字符串
}
printf("该关键词在全文中共出现%d次",sum);
return 0;
}