C语言:统计一篇英文文章中所要查询单词出现的次数以及出现的位置

2022-08-15 教育 64阅读
文件存在与程序同一目录下,文件名为test.txt
#include
#include
void change(char *a)
{
while(*a!='\0')
{
if(*a>='A'&&*a<='Z')
*a+=32;
a++;
}
}

int main(void)
{
FILE *fp;
char s[10],read[10],*p=read,ch;
int n,sum=0,sn=0,flag=0;
if((fp=fopen("test.txt","rt"))==NULL)
{
printf("\n打开文件失败");
getchar();
exit(1);
}
printf("请输入要查找的单词:\n");
gets(s);
change(s);
n=strlen(s);
ch=fgetc(fp);
if(flag==0) sn++;
while(feof(fp)!=1)
{

while(ch!=' '&&ch!=','&&ch!='.'&&ch!='!'&&ch!='?'&&ch!=':'&&ch!='"'&&ch!=';')
{
*p=ch;
p++;
ch=fgetc(fp);
if(flag==0) sn++;

}
*p='\0';
change(read);
if(strcmp(s,read)==0)
{
sum++;
flag=1;
}
ch=fgetc(fp);
if(flag==0) sn++;
p=read;
printf("%s\n",read);
}
if(flag==0) sn=n;
printf("该文章中单词%s出现的次数为%d,第一个%s出现的位置为:%d",s,sum,s,sn-n);
fclose(fp);
return 0;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com