字符串的统计实现
如何实现字符串这样的统计:“11111111adddddddddccccccccc33333111111111133332211111112222222221000000000011111111111”
只要统计结尾的字符出现的情况,当此字符连续出现个数大于等于10个时要求用括弧显示。譬如上述字符串经程序运行后的结果:8(10)71(11)
[ 本帖最后由 wk940827 于 2011-1-19 10:56 编辑 ]
程序代码:#include <stdio.h>
int main()
{
char c[]="11111111adddddddddccccccccc33333111111111133332211111112222222221000000000011111111111";
char *p;
char x;
int i=0,j,k=0,n=1,a[100];
p=c;
//查找末尾值
while(*p !='\0')
p++;
p--;
x=*p;
//printf("%c\n",x);
//筛选数据
while(c[i]!='\0')
{
if(c[i]==x)
{
//出现数目,存放数组
for(j=i+1;c[j]!='\0'&&c[j]==x;j++)
n++;
a[k++]=n;
i=j;
n=1;
}
else
i++;
}
//实现打印
for(i=0;i<k;i++)
{
a[i]>=10?printf("(%d)",a[i]):printf("%d",a[i]);
}
printf("\n");
return 0;
}
