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

802
2023/10/16 20:55:12
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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

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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C语言枚举型变量怎么定义和使用