c语言

c语言怎么删除字符串中相同字符

小亿
473
2023-11-07 20:55:12
栏目: 编程语言

在C语言中,我们可以使用以下方法删除字符串中的相同字符:

  1. 使用两个嵌套循环遍历字符串的每个字符,比较每个字符与其他字符是否相同。
  2. 如果找到相同的字符,则将其从字符串中删除。
  3. 删除字符后,将字符串的长度减1。
  4. 重复步骤1-3,直到字符串中没有相同字符为止。

下面是一个示例代码:

#include <stdio.h>
#include <string.h>

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

注意:此代码只能删除连续相同字符中的一个,并且在原始字符串上进行修改。如果想要保留原始字符串不变,可以使用额外的字符串来存储删除相同字符后的结果。

0
看了该问题的人还看了