编写一个程序,输入一个长度不超过100 的字符串,并删除字符串中的重复字符,c语言
时间: 2023-05-17 11:06:15 浏览: 101
可以使用一个数组来记录每个字符是否出现过,然后遍历字符串,如果该字符没有出现过,则将其加入结果字符串中,并将该字符在数组中标记为已出现。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[101];
int appeared[256] = {0}; // 记录每个字符是否出现过
char result[101] = ""; // 存储结果字符串
printf("请输入一个字符串:");
scanf("%s", str);
for (int i = 0; i < strlen(str); i++) {
if (!appeared[str[i]]) { // 如果该字符没有出现过
appeared[str[i]] = 1; // 标记为已出现
strncat(result, &str[i], 1); // 将该字符加入结果字符串
}
}
printf("去重后的字符串为:%s\n", result);
return 0;
}
```
对于输入的字符串,我们使用一个长度为256的数组`appeared`来记录每个字符是否出现过,初始值都为0。然后遍历字符串,如果该字符没有出现过,则将其加入结果字符串`result`中,并将该字符在数组`appeared`中标记为已出现。最后输出结果字符串即可。
阅读全文