pta删除重复字符c语言
时间: 2024-11-07 13:12:39 浏览: 123
PTA 字符串逆序C语言实现
在C语言中,如果你想要删除字符串(String)中的重复字符并保持原顺序,你可以通过遍历字符串并利用一个临时数组或者哈希集合来实现。这里有一个简单的示例,它使用了一个布尔型数组`visited`作为辅助工具:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CHAR 128 // 假设ASCII码范围内
// 助手函数,检查字符是否已经在数组中
int isVisited(char visited[], int ch) {
return visited[ch];
}
// 主函数,去除字符串中的重复字符
void removeDuplicates(char* str) {
char visited[MAX_CHAR] = {0}; // 初始化所有字符未访问
int len = strlen(str);
for (int i = 0; i < len; ++i) {
if (!isVisited(visited, str[i])) {
printf("%c", str[i]); // 输出非重复字符
visited[str[i]] = 1; // 标记该字符已访问
}
}
}
int main() {
char str[] = "hello world";
removeDuplicates(str);
printf("\n");
return 0;
}
```
当你运行这个程序,输入的字符串"hello world"会变为"helo wrd",因为'l'、'o'和'd'重复了,但它们都被去除了。
阅读全文