删除字符串中相同字符(大小写无关)c语言
时间: 2023-12-07 15:05:01 浏览: 37
可以使用双指针的方法,一个指针指向当前待检查字符,另一个指针指向当前已经处理好的字符串的末尾。
具体实现如下:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void removeDuplicate(char *str) {
int len = strlen(str);
int tail = 1; // 指向当前已经处理好的字符串的末尾
for (int i = 1; i < len; i++) {
int j;
for (j = 0; j < tail; j++) {
if (tolower(str[i]) == tolower(str[j])) {
break; // 发现重复字符,跳出循环
}
}
if (j == tail) { // 没有发现重复字符
str[tail] = str[i];
tail++;
}
}
str[tail] = '\0'; // 加上字符串结束符
}
int main() {
char str[100];
printf("请输入字符串:");
fgets(str, sizeof(str), stdin);
removeDuplicate(str);
printf("删除重复字符后的字符串为:%s", str);
return 0;
}
```
示例输入:
```
AaBbcCdD
```
示例输出:
```
删除重复字符后的字符串为:AbcD
```