在C语言中,我们可以使用以下方法删除字符串中的相同字符:
- 使用两个嵌套循环遍历字符串的每个字符,比较每个字符与其他字符是否相同。
- 如果找到相同的字符,则将其从字符串中删除。
- 删除字符后,将字符串的长度减1。
- 重复步骤1-3,直到字符串中没有相同字符为止。
下面是一个示例代码:
#include#include void deleteDuplicateChars(char *str) { int len = strlen(str); int i, j, k; for (i = 0; i < len; i++) { for (j = i + 1; j < len; j++) { if (str[j] == str[i]) { for (k = j; k < len; k++) { str[k] = str[k + 1]; } len--; j--; } } } } int main() { char str[100]; printf("Enter a string: "); scanf("%s", str); deleteDuplicateChars(str); printf("String after deleting duplicate characters: %s\n", str); return 0; }
输入示例:
Enter a string: programming
输出示例:
String after deleting duplicate characters: progamin
注意:此代码只能删除连续相同字符中的一个,并且在原始字符串上进行修改。如果想要保留原始字符串不变,可以使用额外的字符串来存储删除相同字符后的结果。