codeforces1798A
时间: 2023-07-29 08:14:56 浏览: 101
Codeforces 185A - Plant 全测试点49个
Codeforces1798A是一道字符串操作的题目。给定一个字符串,要求将其中的所有元音字母(即a、e、i、o、u)移动到字符串的末尾,保持其他字符的相对顺序不变。例如,字符串"hepaaat"经过操作后变成"hphttae"。
一个简单的思路是遍历字符串,将元音字母和非元音字母分别存入两个数组中,然后将它们合并起来即可。具体的实现可以参考以下代码:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string s;
cin >> s;
vector<char> vowels, consonants;
for (int i = 0; i < s.size(); i++) {
char c = s[i];
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') {
vowels.push_back(c);
} else {
consonants.push_back(c);
}
}
string ans = "";
for (int i = 0; i < consonants.size(); i++) {
ans += consonants[i];
}
for (int i = 0; i < vowels.size(); i++) {
ans += vowels[i];
}
cout << ans << endl;
return 0;
}
```
这段代码首先读入了一个字符串s,然后遍历字符串并判断每个字符是否为元音字母,将元音字母和非元音字母分别存入两个数组vowels和consonants中。然后将非元音字母和元音字母的数组合并起来,最后输出合并后的字符串即可。
阅读全文