给定一个只包含“A”—“Z”的字符串,我们可以使用以下方法对其进行编码:1 .每个包含k个相同字符的子字符串都应该编码为“kX”,其中“X”是该子字符串中的唯一字符。2.如果子字符串的长度为1,则应忽略“1”。输入第一行包含一个整数N (1 <= N <= 100),表示测试用例的数量。接下来的N行包含N个字符串。每个字符串只由’ A’ - 'Z '组成,长度小于10000。输出对于每个测试用例,输出一行编码的字符串。
样例输入
2
ABC
ABBCCC
样例输出
ABC
A2B3C
#include <string.h>
int main()
{
int n,i,sum;
char str[10001];
scanf("%d",&n);
while(n--)
{
sum=1;//每次循环都需定义初值为1
scanf("%s",str);
for(i=0;i<strlen(str);i++)
{
if(str[i]==str[i+1])
{
sum++;
}
else
{
if(sum<=1)
{
printf("%c",str[i]);
sum=1;
}
else
{
printf("%d%c",sum,str[i]);
sum=1;
}
}
}
printf("\n");
}
return 0;
}