C++ 字符串元音处理:删除重复元音
C++ 代码:删除字符串中重复的元音
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
string s;
cin >> n >> s;
for (int i = 0; i < n; ++i) {
if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u') {
// 如果当前字符是元音
if (i + 1 < n && (s[i + 1] == 'a' || s[i + 1] == 'e' || s[i + 1] == 'i' || s[i + 1] == 'o' || s[i + 1] == 'u')) {
// 如果下一个字符也是元音,则将其删除
s.erase(i + 1, 1);
--n;
--i;
}
}
}
cout << s << endl;
return 0;
}
代码解释:
- 输入: 代码首先从标准输入流中读取字符串的长度
n和字符串本身s。 - 循环遍历字符串: 代码使用一个
for循环遍历字符串的每个字符。 - 判断元音: 代码检查当前字符是否是元音 (a, e, i, o, u)。
- 删除重复元音: 如果当前字符是元音,代码会检查下一个字符是否也是元音。如果是,则删除下一个元音字符。
- 更新指针: 由于删除了字符,需要更新循环变量
i和字符串长度n。 - 输出结果: 代码最后输出处理后的字符串。
示例:
输入:
6
aaeiou
输出:
aeiou
代码特点:
- 使用
erase()函数删除字符串中的字符。 - 使用
for循环遍历字符串,并在需要时更新循环变量。 - 代码逻辑清晰易懂,易于理解和维护。
总结:
本代码提供了一个简单的解决方案,用于从字符串中删除连续的元音字符,只保留第一个元音。该代码可以帮助你理解字符串处理的基本操作,并为更复杂字符串操作提供基础。
原文地址: https://www.cveoy.top/t/topic/m5Zy 著作权归作者所有。请勿转载和采集!