通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则:1. 仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"x3y6z"示例 输入:“cccddecc” 输出:“c3d2ec2”输入:“adef” 输出:“adef”
C++实现代码:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
char *str1=new char[n];
cin>>str1;
if(str1==NULL||n==0)
return 0;
int i=0,count=1;
for(i;i<n;i++)
{
if(str1[i]!=str1[i+1])
{
if(count!=1)
cout<<str1[i]<<count;
else
cout<<str1[i];
count=0;
}
count++;
}
system("pause");
return 0;
}