一个字符串内有多次出现的’a’,如何用找到第n个’a’的位置? c++
时间: 2023-11-14 09:06:28 浏览: 110
C++找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)
5星 · 资源好评率100%
可以使用string类的find函数来查找字符串中某个字符的位置,可以使用一个计数器来记录已经找到的a的个数,当计数器等于n时,即找到了第n个a的位置。具体实现可以参考以下代码:
```
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "abcaaadefaaa";
int n = 3; // 查找第3个a的位置
int count = 0; // 计数器
int pos = -1; // 第n个a的位置
while (count < n) {
pos = str.find('a', pos + 1); // 从上一个a的位置+1开始查找下一个a
if (pos == string::npos) { // 如果没有找到a,跳出循环
break;
}
count++; // 找到一个a,计数器+1
}
if (pos == string::npos) { // 如果没有找到第n个a
cout << "字符串中没有第" << n << "个a" << endl; } else { // 找到了第n个a
cout << "第" << n << "个a的位置是:" << pos << endl;
}
return 0;
}
```
阅读全文