要删除字符串中的相同字符,可以使用两层循环来遍历字符串,并比较每个字符是否与后面的字符相同。如果相同,则将后面的字符删除,直到字符串末尾。
以下是一个示例代码:
#include <stdio.h>
#include <string.h>
void removeDuplicates(char *str) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
for (int j = i + 1; j < len; j++) {
if (str[i] == str[j]) {
// 将后面的字符往前移动一位
for (int k = j; k < len - 1; k++) {
str[k] = str[k+1];
}
len--; // 字符串长度减1
j--; // 继续比较当前位置的字符
}
}
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
removeDuplicates(str);
printf("删除相同字符后的字符串为:%s\n", str);
return 0;
}
这个示例代码中的函数 removeDuplicates()
可以接受一个字符串参数,并通过两层循环来删除其中的相同字符。在主函数中,首先要求用户输入一个字符串,然后调用 removeDuplicates()
函数将相同字符删除,并最终输出结果。
请注意,这个示例代码只能删除连续相同的字符,对于非连续相同的字符无法删除。如果需要删除非连续相同的字符,可以使用其他算法或数据结构来解决。