c++怎么实现在一句话中统计某个单词出现的次数.例如;输入单词:the 输入句子:the land and the family 输出:the出现2次.句子输入可以用gets函数,但用什么保存这句话,使用文件还是?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/03 05:29:10
c++怎么实现在一句话中统计某个单词出现的次数.例如;输入单词:the 输入句子:the land and the family 输出:the出现2次.句子输入可以用gets函数,但用什么保存这句话,使用文件还是?
c++怎么实现在一句话中统计某个单词出现的次数.
例如;输入单词:the
输入句子:the land and the family
输出:the出现2次.
句子输入可以用gets函数,但用什么保存这句话,使用文件还是?定义变量使用字符数组还是string?如果用文件来保存输入的这句话怎么从文件当中每次制度一个单词?
c++怎么实现在一句话中统计某个单词出现的次数.例如;输入单词:the 输入句子:the land and the family 输出:the出现2次.句子输入可以用gets函数,但用什么保存这句话,使用文件还是?
楼上有错误,如果查找and的话会有两个结果,land里面的and也会算进去
#include
#include
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'退出函数