【发布时间】:2019-11-15 07:24:53
【问题描述】:
如何计算字符串中的相同单词
输入
字符串数
String1 = dadymathewdadreadad
String2 = sdgfghhjdjrjjyjjrtfdhe
搜索 = 爸爸
输出
string1 中爸爸的数量 = 3
string2 中爸爸的数量 = 0
代码:
#include <iostream>
#include <string.h>
using namespace std;
int main() {
string str[50];
int n;
cin>>n;
for(int i = 0; i < n;i++) {
cin>>str[i];
}
for(int i = 0; i < 50;i++) {
if(substr(i,4) == "dad"){
n += 1;
}
}
cout<<n;
return 0;
}
错误
在函数'int main()'中: [错误] 'substr' 未在此范围内声明
【问题讨论】:
-
std::string::find是你的朋友 -
您忘记在对象上调用
substr:str.substr(i,4)。投票关闭为错字。你也可以cin >> str。 -
@bolov
str是一个数组 -
除了您遇到的错误外,您的代码还有 多个 问题。例如,
n是您应该阅读的字符串数,还是每个字符串中的匹配数?不可能两者同时存在。您也没有边界检查,无论是输入还是检查。 -
请花一些时间刷新how to ask good questions,以及this question checklist。不清楚您是否询问错误以及如何修复它,或者您是否询问“[h]如何计算字符串中的相同单词”。