
#include<iostream>
using namespace std;
int delet(char a[20])
{
int i=0,num=0,j,k;
while(a[i])
{
j=i+1;
if(a[j])
{
if(a[j]==a[i])
{k=j+1;num+=1;
if(a[k])
{
while(a[k]){a[k-1]=a[k];k++;}
}
}
else {j+=1;}
}
i++;
}return num;
}
int main()
{
char a[20];
cin>>a;
delet(a);
cout<<"重复个数为:"<<delet(a)<<'\t'<<"删除后数据为"<<a<<endl;
getchar();
getchar();
}


int delet(char a[20])
{
int i=0,num=0,j,k;
while(a[i])
{
j=i+1;
while(a[j])//此处从if改成while,因为要数组的前面的元素,要和后面每一个元素进行比较
{
if(a[j]==a[i])//如果此在相同的,就把相同元素之后的一个k元素,
{ // 以及k元素之后的所以元素向前移动,if内部while功能目的就是这样
k = j + 1;
num += 1;//计数一次
while(a[k])
{
a[k-1] = a[k];
k++;
}
a[k-1] = a[k];//j + 1元素之后向前移动,数组就少了一个元素,就把\0赋值给最后一个元素
}
else //书上的伪代码作为参考,不能完全照搬,理解消化转为自己思路
{
j+=1;
}
}
i++;
}
return num;
}