#include
#include
char a[1005];
int main ()
{
int j,n;
gets(a);
n=strlen(a);
for(int i=0;ifor(int j=i+1;jif(a[i]==a[j])
{
for(int k=j;k1];
}
n--;
j--;
}
}
}
printf("%s",a);
return 0;
}
供参考:
#include <stdio.h>
#define N 1005
int main()
{
int i, j, n;
char a[N],flg;
gets(a);
for (flg = a[0],i = 0,j = 0; a[i]; i++)
{
if (a[i] - flg)
a[j++] = a[i];
if (i == 0)
a[j++] = a[i];
flg = a[j-1];
}
a[j] = '\0';
printf("%s" , a);
return 0;
}
题主的代码修改如下,见注释,供参考:
#include <stdio.h>
#include <string.h>
char a[1005];
int main ()
{
int i,j,n; //修改
gets(a);
n=strlen(a);
for(i=0;i<n-1;) //(int i=0;i<n;i++)
{
if (a[i] == a[i+1])
{
for(j=i+1;j<n-1;j++) //(int j=i+1;j<n;j++)
{
//if(a[i]==a[j])
//{
// for(int k=j;k<n;k++)
// {
a[j]=a[j+1]; //a[k]=a[k+1];
// }
//n--;
//j--;
}
n--; //修改
}
else
i++; //修改
}
a[n] = '\0'; //修改
printf("%s",a);
return 0;
}