要求输入一段文字,程序可以统计出某一字符串在这段文字中出现的次数以及位置。
1条回答 默认 最新
- 成都渔民 2023-03-29 21:33关注
参考GPT
#include <iostream> #include <string> using namespace std; int main() { // 从键盘输入原始文本和待查找的字符串 string text, word; cout << "请输入一段文本:"; getline(cin, text); cout << "请输入待查找的字符串:"; getline(cin, word); // 统计字符串出现次数和位置 int count = 0; size_t pos = text.find(word); while (pos != string::npos) { count++; cout << "第 " << count << " 个 \"" << word << "\" 在文本中出现的位置是: " << pos << endl; pos = text.find(word, pos + 1); } // 输出结果 cout << "\"" << word << "\" 在文本中出现了 " << count << " 次。" << endl; return 0; }
程序运行时,会提示用户输入一段文本和待查找的字符串。然后程序会使用
string::find()
函数在文本中查找待查找的字符串,并统计其出现次数和位置。最后程序会输出结果,显示待查找的字符串在原始文本中出现的次数和位置。需要注意的是,
string::find()
函数会返回第一个匹配子串的位置,如果没有找到则返回string::npos
。因此,在找到第一个匹配子串的位置之后,需要通过第二个参数指定查找的开始位置,以便继续查找下一个匹配子串。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报