删除字符串中相同的字符: 思路:定义两个数组,一个放要删除的源字符串,一个放删除后的字符串。 用类似于冒泡排序的方法取old中的每一个字符与new中的字符相比,若相同则继续比较下一个,若不同,则放入new数组中。 #include<stdio.h>
void killsame(char *o, char *n)
{
int i=0, j, k=0;
int label;
while(o[i] != '\0')
{
label = 1; //lable是一个标志,如果为1则表示不同,如果为0则表示相同!
for(j=0; j<i; j++)
{
if (o[i] == n[j])
label = 0;
}
if(label)
n[k++]=o[i];
i++;
}
n[k]='\0';
puts(n);
}
int main(void)
{
printf("Please input a string you want:\n");
char old[126];
char new[126];
scanf("%s",old);
killsame(old, new);
return 0;
}
liuzj@ET302Buildver:~/zhanghong/king/2018125$ ./a.out
Please input a string you want:
34534
345
liuzj@ET302Buildver:~/zhanghong/king/2018125$
void killsame(char *o, char *n)
{
int i=0, j, k=0;
int label;
while(o[i] != '\0')
{
label = 1; //lable是一个标志,如果为1则表示不同,如果为0则表示相同!
for(j=0; j<i; j++)
{
if (o[i] == n[j])
label = 0;
}
if(label)
n[k++]=o[i];
i++;
}
n[k]='\0';
puts(n);
}
int main(void)
{
printf("Please input a string you want:\n");
char old[126];
char new[126];
scanf("%s",old);
killsame(old, new);
return 0;
}
liuzj@ET302Buildver:~/zhanghong/king/2018125$ ./a.out
Please input a string you want:
34534
345
liuzj@ET302Buildver:~/zhanghong/king/2018125$