hdu acm 1020 这题郁闷了 弄了好久都没过 望大牛指点 不胜感激 不好意...

发布网友 发布时间: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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com