要求输入一段文字,程序可以统计出某一字符串在这段文字中出现的次数以及位置。
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
。因此,在找到第一个匹配子串的位置之后,需要通过第二个参数指定查找的开始位置,以便继续查找下一个匹配子串。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效