发布网友 发布时间:2024-10-19 19:11
共4个回答
热心网友 时间:2024-10-24 07:02
#include <stdio.h>
#include <string.h>
int main()
{
int t,count,i;
while(scanf("%d",&t)!=EOF)
{
getchar();
if(t==0) break;
while(t--)
{
char ch[10008];
scanf("%s",ch);
i=0;
int len;
len=strlen(ch);
count=1;
while(i<len)
{
if(ch[i]!=ch[i+1])
{
if(count==1) printf("%c",ch[i]);
else printf("%d%c",count,ch[i]);
count=1;
}
else
{
if(ch[i]==ch[i+1])
count++;
}
i++;
}
printf("\n");
}
}
return 0;
}
//算法改动了不少,不过以楼主的大才一定能看的懂,就没做注释。这个算法能满足楼主的要求
//输入 aaaaaaaabbbbbcccdef
//输出 8a5b3cdef
热心网友 时间:2024-10-24 07:04
#include<stdio.h>
#include<string.h>
char a[10001];
int main()
{
int i,n,b,m;
while(scanf("%d",&n)!=EOF)
{
while(n--)
{
scanf("%s",a);
b=strlen(a);
for(i=0,m=1;a[i]!='\0';i++)
{
if(a[i]!=a[i+1])
if(m==1) printf("%c",a[i]);
else {printf("%d%c",m,a[i]);m=1;}
else m++;
}
printf("\n");
}
}
return 0;
}
热心网友 时间:2024-10-24 07:07
输入AAA 应该输出3A的吧
你输得好像是2A
热心网友 时间:2024-10-24 06:59
#include <stdio.h>
#include <string.h>
int main()
{
int t,count,i;
while(scanf("%d",&t)!=EOF)
{
getchar();
while(t--)
{
char ch[10008];
scanf("%s",&ch);
i=0;
int len=0;
while(ch[len]!='\0')len++;
while(i<len)
{ count=1;
if(ch[i]!=ch[i+1])
{
printf("%c",ch[i]);
i++;
}
else //下面修改过
{
int j=i;
while(ch[j]==ch[++i]) count++;
printf("%d%c",count,ch[j]);
}
}
printf("\n");
}
}
return 0;
}
你这段程序不能统计超过3个长度的连续相同字符
比如你输入 AAAAA结果是3A2A