要求实现函数:
void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】 pInputStr: 输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“cccddecc” 输出:“3c2de2c”
输入:“adef” 输出:“adef”
输入:“pppppppp” 输出:“8p”
#include
using namespace std;
void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr)
{
int i,j,k=0;
for(i=0;i
for(j=i+1;j
if(pInputStr[j]!=pInputStr[i])
{
break;
}
}
if(j!=i+1)
{
pOutputStr[k++]=(char)(j-i+'0');
}
pOutputStr[k++]=pInputStr[i];
}
for (int m=0;m
cout<
cout<
}
void print_result(const char *a)
{
while(*(a++)!='\0')
{
cout<<*a;
}
cout<
int main()
{
char a[]="cccddecc";
char aa[9];
char b[]="adef";
char bb[5];
char c[]="pppppppp";
char cc[9];
stringZip(a,8,aa);
stringZip(b,4,bb);
stringZip(c,8,cc);
return 0;
}