#include
#include
main()
{ char a[302];
char b[302];
char c[302];
char t[302];
int i,k,u,n; //如果检测到一个字符有重复出现两次以上删除最近的一个;
int s,d,j;
d=0;
gets(a);// 找到这个字符要储存起来
n=strlen(a);
for(i=0;ifor(i=0;i0;
s=i;
for(s;sif(a[i]==b[s])
u++;
}
if(u<2)
{ c[d]=a[i];
d++;
}
}
printf("%s",c);
}
i从1开遍历,用i+1跟前面的进行比较,只保留最后1个的话,逆序遍历比较好
#include <stdio.h>
int main()
{
char s[301]={0};
char *p = s,*k;
gets(s);
int n = strlen(s);
p += n-1;
char *q = p-1;
while(q>=s)
{
for(k = p;k<=s+n-1;k++)
if(*k == *q)
break;
if(k>=s+n)
*(--p) = *q;
q--;
}
printf("%s\n",p);
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!