字符串的统计实现
如何实现字符串这样的统计:“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; }