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;
}

代码解释:

  1. 输入: 代码首先从标准输入流中读取字符串的长度 n 和字符串本身 s
  2. 循环遍历字符串: 代码使用一个 for 循环遍历字符串的每个字符。
  3. 判断元音: 代码检查当前字符是否是元音 (a, e, i, o, u)。
  4. 删除重复元音: 如果当前字符是元音,代码会检查下一个字符是否也是元音。如果是,则删除下一个元音字符。
  5. 更新指针: 由于删除了字符,需要更新循环变量 i 和字符串长度 n
  6. 输出结果: 代码最后输出处理后的字符串。

示例:

输入:

6
aaeiou

输出:

aeiou

代码特点:

  • 使用 erase() 函数删除字符串中的字符。
  • 使用 for 循环遍历字符串,并在需要时更新循环变量。
  • 代码逻辑清晰易懂,易于理解和维护。

总结:

本代码提供了一个简单的解决方案,用于从字符串中删除连续的元音字符,只保留第一个元音。该代码可以帮助你理解字符串处理的基本操作,并为更复杂字符串操作提供基础。

C++ 字符串元音处理:删除重复元音

原文地址: https://www.cveoy.top/t/topic/m5Zy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录