字母简化
题目描述给出一串全部为小写英文字母的字符串,要求把这串字母简化。简化规则是:统计连续出现的字母数,输出时先输出个数,再输出字母。比如:aaabbbaa,则简化为3a3b2a;而zzzzeeeeea,则简化为4z5e1a。
输入
有多行。第一行为一个整数n,表示共有n组测试数据(1≤n≤100)。接下来有n行,每行第一个数为字符串长度t(t≤1000),然后为一个长度为t的字符串。
输出
简化后的字符串,每组测试用例占一行。
样例输入
Copy Sample Input
3
7 aaaaaaa
4 abcd
6 qwweee
样例输出
Copy Sample Output
7a
1a1b1c1d
1q2w3e
#include <stdio.h>
int main()
{
int n,a=1,i,j=1;
char s[1000],s2[1000];
scanf("%d",&n);
while(scanf("%s", s) != EOF)
{
gets(s2);
for(i=j;s2[i]!='\0';i=j)
{
a=1;
for(j=i+1;s2[j]!='\0';j++)
{
if(s2[i]==s2[j]) a++;
else
{
break;}
}
printf("%d%c",a,s2[i]);
}
printf("\n");
}
return 0;
}
为什么只能运行一组数据 之后再输就不出结果了???