c语言 输入一个长度不超过 100 的字符串,删除串中的重复字符.
发布网友
发布时间:2022-04-27 12:52
我来回答
共2个回答
热心网友
时间:2022-04-27 14:21
#include <stdio.h>
int main ()
{
char s[101];
int i,j,k;
gets(s);
for(i=0;s[i];i++)
{
for(j=k=i+1;s[j];j++)
if(s[j]!=s[i])
s[k++]=s[j];
s[k]='\0';
}
热心网友
时间:2022-04-27 15:39
for(i=0;i<k;i++)
{
for(j=1;j<k-i;j++)
{
if(a[i]==a[j]&&j!=i) //两者不是同一个字符
{
for(t=i;t<k;t++)
{
a[t]=a[t+1];
}
j--;
k--;
i--; //确保把所有重复的删完,所以退回重新判断
}
}
}追问第一个注释有点没看明白,为什么不能使同一个字符?
追答a[i]的a[j]相同有可能是因为i等于j,而这不是重复,你得去掉这种可能性