| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 471 人关注过本帖
标题:字符串的统计实现
只看楼主 加入收藏
wk940827
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2010-12-9
结帖率:87.5%
收藏
已结贴  问题点数:5 回复次数:3 
字符串的统计实现
如何实现字符串这样的统计:

11111111adddddddddccccccccc33333111111111133332211111112222222221000000000011111111111

只要统计结尾的字符出现的情况,当此字符连续出现个数大于等于10个时要求用括弧显示。譬如上述字符串经程序运行后的结果:8(10)71(11)




[ 本帖最后由 wk940827 于 2011-1-19 10:56 编辑 ]
搜索更多相关主题的帖子: 统计 字符串 
2011-01-19 10:55
逐渐学习
Rank: 6Rank: 6
等 级:侠之大者
帖 子:113
专家分:454
注 册:2010-9-26
收藏
得分:0 
1、先找到结尾的字符放入到x中。
2、从头开始遍历,比对x,统计连续次数,放入数组a中.
3、根据a[i],打印不同形式数据.

帮人《---》帮己
2011-01-19 11:15
逐渐学习
Rank: 6Rank: 6
等 级:侠之大者
帖 子:113
专家分:454
注 册:2010-9-26
收藏
得分:5 
程序代码:
#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;
}

帮人《---》帮己
2011-01-19 11:43
wk940827
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2010-12-9
收藏
得分:0 
若要将这个程序转化为子函数且是对一个二维数组每列最后字符出现的情况进行统计,原码怎么写呢?
2011-01-19 13:47
快速回复:字符串的统计实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052628 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved