C语言删除字符串中的重复字符。
时间: 2023-12-05 07:04:55 浏览: 44
下面是一个简单的 C 语言程序,可以删除字符串中的重复字符:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], result[100];
int i, j, len, k = 0;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len; i++) {
for (j = i + 1; j < len; j++) {
if (str[i] == str[j]) {
break;
}
}
if (j == len) {
result[k++] = str[i];
}
}
result[k] = '\0';
printf("删除重复字符后的字符串为:%s", result);
return 0;
}
```
该程序通过两个循环来遍历字符串中的每一个字符,并使用一个新的字符数组来存储不重复的字符。在内层循环中,如果找到了重复字符,则跳出循环,否则将该字符存储到新的字符数组中。最后,将新的字符数组以字符串的形式输出即可。
相关问题
使用c语言删除字符串中的重复字符。
以下是一个使用C语言删除字符串中重复字符的示例代码:
```c
#include <stdio.h>
#include <string.h>
void removeDuplicates(char* str) {
int i, j, k;
int len = strlen(str);
// 遍历字符串中的每个字符
for(i=0; i<len; i++) {
// 检查字符是否已经出现过
for(j=i+1; j<len; j++) {
if(str[i] == str[j]) {
// 如果字符已经出现过,则将其删除
for(k=j; k<len; k++) {
str[k] = str[k+1];
}
len--;
j--;
}
}
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
removeDuplicates(str);
printf("删除重复字符后的字符串为:%s\n", str);
return 0;
}
```
该程序使用了三重循环来遍历、检查和删除字符串中的重复字符。首先,外层循环遍历字符串中的每个字符。然后,内层循环从当前字符的下一个字符开始,检查是否有重复的字符。如果有,则使用另一个循环将重复的字符删除。最后,外层循环继续向前移动,直到遍历完整个字符串。
c语言删除字符串中的重复字符
以下是一个简单的 C 语言函数,可以删除字符串中的重复字符:
```c
#include <stdio.h>
#include <string.h>
void removeDuplicates(char *str) {
int i, j, k;
int len = strlen(str);
for (i = 0; i < len; i++) {
for (j = i + 1; j < len; j++) {
if (str[i] == str[j]) {
for (k = j; k < len; k++) {
str[k] = str[k + 1];
}
len--;
j--;
}
}
}
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, 100, stdin);
removeDuplicates(str);
printf("String after removing duplicates: %s", str);
return 0;
}
```
此函数使用三重循环来查找并删除重复字符。首先,它使用两个嵌套的循环来比较每个字符与其余字符,如果找到一个重复的字符,它会将字符串中的每个字符向左移动一个位置,并将字符串的长度减少一个。这个过程一直持续到字符串中的所有重复字符都被删除为止。