题目描述
给出一串全部为小写英文字母的字符串,要求把这串字母简化。简化规则是:统计连续出现的字母数,输出时先输出个数,再输出字母。比如:aaabbbaa,则简化为3a3b2a;而zzzzeeeeea,则简化为4z5e1a。
输入
有多行。第一行为一个整数n,表示共有n组测试数据(1≤n≤100)。接下来有n行,每行第一个数为字符串长度t(t≤1000),然后为一个长度为t的字符串。
输出
简化后的字符串,每组测试用例占一行。
样例输入 Copy
3 7 aaaaaaa 4 abcd 6 qwweee
样例输出 Copy
7a 1a1b1c1d 1q2w3e
代码如下:
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int b;
cin>>b;
getchar();
string s;
getline(cin,s);
for(int i=0;i<s.size();i++)
{int sum=1;
while(s[i]==s[++i])
{
sum+=1;
}
cout<<sum<<s[--i];
}
cout<<endl;
}
}