删除字符串中的重复字符详细教程
一、我的思路是把一个字符串中不重复的数放到另一个字符串中
1、要从一个字符串的第一个字符开始到最后一个字符开始询问
2、然后询问哪一个字符就问这个字符前面的字符有无和它一样的
3、有一样的就不放,没有一样的就放在另个字符串中
下面看代码
#include<stdio.h>
#include<string.h>
int main()
{
char s[20];
scanf("%s",s);
int n=0;
char a[20];
for(int i=0;i<strlen(s);i++)
{
int k=0;
for(k;k<i;k++)
{
if(s[i]==s[k])
break; //这个就是上面的第三条
}
if(k==i)
{
a[n]=s[i];
n++;
}
}
for(int i=0;i<n;i++)
{
printf("%c",a[i]);
}
return 0;
}
其实还有一种方法是用冒泡,因为是字符可以比大小有的重复的字符就会在一起,想法把那些挨在一起的重复字符删去就好了。
你可以先自己写,答案在这
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(s[j]>s[j+1])
{
char d=s[j];
s[j]=s[j+1];
s[j+1]=d;
}
}
}
putchar(s[0]);
for(int i=1;i<n;i++)
{
if(s[i]!=s[i-1])
{
putchar(s[i]);
}
}
上面的就是核心了,希望可以帮到你。