题目描述 处理一个仅有小写字母组成的字符串,删除其中的重复字母。如aaaaa,处理过后得到a。 【使用for循环实现】 输入格式 输入包括多组测试数据,每组一行,包括一个字符串,字符串仅由小写字母组成,长度不超过1000000 输出格式 对每组测试数据,输出处理过后的字符串并换行
时间: 2024-10-26 11:03:58 浏览: 8
c语言将字符串中的小写字母转换成大写字母
5星 · 资源好评率100%
这个题目要求你编写一个程序,该程序接收一个只包含小写字母的字符串作为输入,去除其中的重复字符,并输出处理后的结果。你可以使用C++的`std::set`或`std::unordered_set`来存储不重复的字符,因为它们自动排除了重复元素。这里我们使用`std::set`来演示,因为它保证插入的顺序(对于这个问题而言不需要考虑插入顺序)。
以下是一个简单的C++程序实现,使用for循环遍历输入字符串:
```cpp
#include <iostream>
#include <string>
#include <set>
void removeDuplicates(std::string& str) {
std::set<char> uniqueChars;
for (char c : str) {
if (uniqueChars.find(c) == uniqueChars.end()) {
uniqueChars.insert(c);
}
}
// 将set中的字符转换回原字符串格式
str.clear();
for (char c : uniqueChars) {
str += c;
}
}
int main() {
std::string input;
while (std::cin >> input) {
removeDuplicates(input);
std::cout << input << std::endl; // 输出处理后的字符串
}
return 0;
}
```
在这个程序中,`removeDuplicates`函数接受一个引用到字符串,用`std::set`收集唯一的字符,然后清空原字符串并将`uniqueChars`中的字符逐个添加回去。
阅读全文