//字符串压缩
#include<stdio.h>
#define MAXINE 80
void zip(char *ch);
int main()
{
char ch[MAXINE];
gets(ch);
zip(ch);
puts(ch);
return 0;
}
void zip(char* p)
{
int n;
char *q=p; //mississippi 输出mi2si2si2pi
while(*p!='\0')
{
n=1;
if(*p==*(p+n)) //p不改变
{
n++;
}
if(n>=10)
{
*q++=n/10+'0';
*q++=n%10+'0';
}
else if(n>=2)
{
*q++=n%10+'0';
}
*q++=*(p+n-1); //复制重复字符
p=p+n;
}
*q='\0';
}
字符串的压缩
最新推荐文章于 2024-05-22 17:32:13 发布