c语言如何删除字符串中相同字符
要删除字符串中的相同字符,可以使用两层循环来遍历字符串,并比较每个字符是否与后面的字符相同。如果相同,则将后面的字符删除,直到字符串末尾。
以下是一个示例代码:
```c
#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()` 函数将相同字符删除,并最终输出结果。
请注意,这个示例代码只能删除连续相同的字符,对于非连续相同的字符无法删除。如果需要删除非连续相同的字符,可以使用其他算法或数据结构来解决。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341