题目描述
给出一串全部为小写英文字母的字符串,要求把这串字母简化。简化规则是:统计连续出现的字母数,输出时先输出个数,再输出字母。比如:aaabbbaa,则简化为3a3b2a;而zzzzeeeeea,则简化为4z5e1a。
输入
有多行。第一行为一个整数n,表示共有n组测试数据(1≤n≤100)。接下来有n行,每行第一个数为字符串长度t(t≤1000),然后为一个长度为t的字符串。
输出
简化后的字符串,每组测试用例占一行。
样例输入
3 7 aaaaaaa 4 abcd 6 qwweee
样例输出
7a 1a1b1c1d 1q2w3e
这个“我爱万能头文件”告诉我他做了无数次,今天他来我家我当着他的面做出来了:
#include<iostream>
using namespace std;
int main()
{
char a[1000],d;
int n,i,j,c,sum;
bool s;
cin >> n;
for(i = 0;i < n;i++)
{
cin >> c >> a;
s = 1;
d = a[0];
sum = 1;
for(j = 1;j < c;j++)
{
if(d == a[j])
{
sum++;
}
else
{
s = 0;
cout << sum << d;
d = a[j];
sum = 1;
}
}
cout << sum << d;
sum = 0;
cout << endl;
}
return 0;
}
创作不易,给个关注吧