序列问题
#include<iostream.h>#include<string.h>
void main()
{
char *data="abb",s[20];
char *number;
int count=0;
int j=0,a;
int i=0;
int mem[20];
number=s;
cin>>number;
count=strlen(number);
while(i<count)
{
if((*data)==(*number))
{
mem[j++]=0;
data++;
number++;
i++;
for(a=0;a<2;a++)
{
if((*data)==(*number))
{
if(a==1)
{
mem[j++]=1;
data--;
i++;
}
else
{
mem[j++]=0;
data++;
number++;
i++;}
}
else
{
if(a==1)
{
data--;
break;
}
else
break;
}
}
data--;
}
else
{
number++;
mem[j++]=0;
i++;
}
}
for(int k=0;k<count;k++)
cout<<mem[k];
cout<<endl;
}
比如:我输入的是:aabbaabb;
输出应该是:00010001;
可是只能输出00010000;
程序到底哪里错了呢?
请帮帮忙?