forever33221 发表于 2019-12-1 16:50:51

统计字符串中某个单词出现的次数

如何用C++或C编写一个统计字符串中某个单词出现次数的程序啊,看博客中的程序没有太看懂。

bin554385863 发表于 2019-12-1 19:09:03

本帖最后由 bin554385863 于 2019-12-1 19:10 编辑

#include <iostream>
#include <string>
using std::cout;
using std::endl;
using std::string;
int func(string &str, string &s) //str为母串.s为子串
{
    int count = 0, inx = 0, t = 0;
    while (t != -1)
    {
      t = str.find(s, inx);
      inx = t + s.size();
      count++;
    }
    return count - 1;
}
int main(int argc, char const *argv[])
{
    string str = "hello hello C++ C++ java java java ffd dsasdf";
    string s = "java";
    string a = "hello";
    string b = "ffd";
    cout<<"java = " <<func(str , s)<<"\nhello = "<<func(str, a)<<"\nffd = "<<func(str, b);
    return 0;
}

================================================
Microsoft Windows [版本 10.0.18363.476]
(c) 2019 Microsoft Corporation。保留所有权利。

E:\Users\admin\Documents\VScode\Code>c:\Users\admin\.vscode\extensions\ms-vscode.cpptools-0.26.1\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-1npb2ofw.ojm --stdout=Microsoft-MIEngine-Out-owzfxyrt.2uf --stderr=Microsoft-MIEngine-Error-jm4ywmqx.v4c --pid=Microsoft-MIEngine-Pid-1wxotdp3.b3l --dbgExe=D:\MinGW\bin\gdb.exe --interpreter=mi
java = 3
hello = 2
ffd = 1
E:\Users\admin\Documents\VScode\Code>

forever33221 发表于 2019-12-1 19:52:11

bin554385863 发表于 2019-12-1 19:09
================================================
Microsoft Windows [版本 10.0.18363.476]
(c) 201 ...

厉害,谢谢啦,麻烦问一下,17行的常量字符数组是什么意思啊,有点没有懂

bin554385863 发表于 2019-12-1 19:57:22

forever33221 发表于 2019-12-1 19:52
厉害,谢谢啦,麻烦问一下,17行的常量字符数组是什么意思啊,有点没有懂

那不是常量字符串,那是C++的string类定义的字符串对象

forever33221 发表于 2019-12-1 20:53:54

bin554385863 发表于 2019-12-1 19:57
那不是常量字符串,那是C++的string类定义的字符串对象

main后面括号里的就是字符串对象定义的写法呗

bin554385863 发表于 2019-12-1 21:16:57

forever33221 发表于 2019-12-1 20:53
main后面括号里的就是字符串对象定义的写法呗

main(int argc, char const *argv[])
这个括号里面的没有特殊需求也可以不写,至于什么意思,你可以百度一下,我说不清楚

forever33221 发表于 2019-12-1 21:33:47

bin554385863 发表于 2019-12-1 21:16
main(int argc, char const *argv[])
这个括号里面的没有特殊需求也可以不写,至于什么意思,你可以百度一 ...

好的,谢谢啦
页: [1]
查看完整版本: 统计字符串中某个单词出现的次数