c语言输入一个长度不超过 100 的字符串,删除串中的重复字符。例如输入:aabbccdddeeeff,输出abcdef。
时间: 2024-12-20 15:15:50 浏览: 19
在C语言中,你可以使用一个数组或者哈希表(如`unordered_set`或`stdbool`数组)来实现这个功能。这里是一个简单的示例,我们将使用`bool`数组`used_chars`来标记已见过的字符:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#define MAX_LEN 100
void removeDuplicates(char *str) {
bool used_chars[256] = {false}; // ASCII码范围内的字符
int i = 0;
for (int j = 0; str[j]; ++j) {
if (!used_chars[str[j]]) {
printf("%c", str[j]);
used_chars[str[j]] = true;
i++;
}
}
// 输出剩余未打印的字符,如果有的话
while (i < MAX_LEN && !used_chars[str[i]]) {
printf("%c", str[i]);
i++;
}
}
int main() {
char input[MAX_LEN];
printf("请输入一个长度不超过100的字符串: ");
fgets(input, sizeof(input), stdin); // 读取用户输入并去掉换行符
input[strcspn(input, "\n")] = '\0'; // 去掉换行符
removeDuplicates(input);
return 0;
}
```
当你运行程序时,它会提示你输入字符串,然后去除重复字符并输出结果。
阅读全文