要删除字符串中的相同字符,可以使用两层循环来遍历字符串,并比较每个字符是否与后面的字符相同。如果相同,则将后面的字符删除,直到字符串末尾。
以下是一个示例代码:
#include#include 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()
函数将相同字符删除,并最终输出结果。
请注意,这个示例代码只能删除连续相同的字符,对于非连续相同的字符无法删除。如果需要删除非连续相同的字符,可以使用其他算法或数据结构来解决。