c++怎么实现在一句话中统计某个单词出现的次数。

例如;输入单词:the
输入句子:the land and the family
输出:the出现2次。
句子输入可以用gets函数,但用什么保存这句话,使用文件还是?定义变量使用字符数组还是string?如果用文件来保存输入的这句话怎么从文件当中每次制度一个单词?

第1个回答  2012-12-17
楼上有错误,如果查找and的话会有两个结果,land里面的and也会算进去

#include <stdlib.h>
#include <stdio.h>
int chazhao(char *str1,char *str2)
{
char *p=str1;//p指向句子
int i=0,k=0;//k统计个数
while(*p!='\0')//句子结束退出循环
{
while(*p!=' ')//单词结束退出循环 查找下个单词
{
if(*p!=str2[i])//遇到不同字母 指向下一个单词
while(*p!=' ') p++;
else//字母相同
{
if(*(p+1)==' ')//单词结束 计数加一
{
k++;
p++;
}
else//比较下一个字母
{
i++;
p++;
}
}
}
p++;
i=0;
}
return k;
}

void main()
{
char word[100],juzi[100];
printf("输入要句子:\n");
gets(juzi);
printf("输入要查找的单词:\n");
gets(word);
printf("单词的个数:%d",chazhao(juzi,word));
}

如果用文件的话用fget(str,n,fp);
函数的功能就是把fp所指文件里的n个字符放到字符串str里面,如果遇到'\0'退出函数本回答被提问者采纳
相似回答