[C++] 纯文本查看 复制代码 void zifuyasuo()//字符串压缩
{
char a[1000],b[1000];//存储输入
int count1=1,cnt=0;//计数器
gets(a);//没有空格
for(int i=0;i<strlen(a);i++)
{
if(a[i]>='a'&&a[i]<='z'||(a[i]>='A'&&a[i]<='Z'))
{
b[cnt]=a[i];
cnt++;
}
}
cout<<b[0];//首字符单独处理
for(int i=1;i<strlen(b);i++)
{
if(b[i]==b[i-1])//如果与前一个数相等
{
count1++;//计数器+1
}
else//如果不相同
{
if(count1>1)//如果计数器大于1
{
cout<<count1;//输出计数值
count1=1;//重置计数
}
cout<<b[i];//输出当前字符
}
if((count1>1)&&(i==strlen(a)-1)) cout<<count1;//尾字符单独处理
}
} |