一、算法描述

    给定一个字符串,压缩其连续出现的字符,并输出连续出现的次数,输出顺序与原字符出现的顺序一致,如果只出现一次则不输出次数, 例如: 输入:CCCCDDE, 输出:4C2DE

二、算法思路

    通过分析可得出,此算法的关键是统计连续出现字符的次数,并输出,这需要借助于一个临时的字符串来输出结果

三、算法代码

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
using namespace std;
//统计字符串中重复的字符并将重复出现的次数和字符输出,例如: ccccdde, 4c2de
void count_repeat_char(char *str, char *tstr)
{int cnt=0,k=0;char *p=str,*q=p;while(*p){while(*p==*q){cnt++;p++;}if(cnt!=1){tstr[k++]=cnt+'0';tstr[k++]=*q;}else{tstr[k++]=*q;}cnt=0;q=p;}
}int main()
{char s[256]="ccccddeffff";char *pstr=new char[256];memset(pstr,0,sizeof(char)*256);count_repeat_char(s,pstr);cout<<pstr<<endl;return 0;
}

转载于:https://www.cnblogs.com/ballwql/p/4941287.html

字符串压缩-连续字符压缩并输出次数相关推荐

  1. 在控制台中录入一个字符串 , 打印这个字符串中的字符以及出现的次数(Python)

    #练习2:在控制台中录入一个字符串 # 打印这个字符串中的字符以及出现的次数. # abcdbcdb # a字符1次 # b 3 # c 2 # d 2 str_input = "abcdb ...

  2. python实现:计算字符的个数,接受一个由字母和数字组成的字符串和一个字符,然后输出输入的字符串中含有该字符的个数。不区分大小写。

    题目内容: 接受一个由字母和数字组成的字符串和一个字符,然后输出输入的字符串中含有该字符的个数.不区分大小写. 可以使用以下语句实现字符串s的输入: s=str(input()) 输入格式: 输入一个 ...

  3. 【python】7-10 将输入的字符串中的字符头尾间隔输出(PTA)

    输入一个字符串,然后将其中每个字符头尾间隔输出.例如,输入abcdef,则输出afbecd. s=input() for i in range(len(s)//2):print(s[i:i+1],en ...

  4. 7-10 将输入的字符串中的字符头尾间隔输出

    输入一个字符串,然后将其中每个字符头尾间隔输出.例如,输入abcdef,则输出afbecd. 输入格式: 输入一个字符串 输出格式: 输出一个字符串 输入样例: abcdef 输出样例: afbecd ...

  5. C++ 统计字符串中某字符出现的次数

    题目描述 输入一个字符串s和一个字符ch,统计并输出字符ch在字符串s中出现的总次数.改写要求:编写一个函数,求字符指针p所指向的字符串中,字符ch出现的次数,并将该结果作为函数值返回.函数原型为 i ...

  6. 题目1049:字符串去特定字符

    题目描述: 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果. 输入: 测试数据有多组,每组输入字符串s和字符c. 输出: 对于每组输入,输出去除c字符后的结果. 样例输入: heallo ...

  7. 华为面试题:请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。

    已经很久没有写博客了,2017年的最后一天写一篇,用这样的方式和2017年告别挺好的.这段时间经历找工作,是我这一年截止到目前最迷茫的时期.看看程序,思考能让我冷静下来,不被杂事打扰,前天看到了华为的 ...

  8. 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。

    压缩规则: 1.仅压缩连续重复出现的字符.比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc". 2.压缩字段的格式为"字符重 ...

  9. 将一段压缩后的字符串解压,并且顺序输出

    将一段压缩后的字符串解压,并且顺序输出. 算法描述: 解压规则: 每个字符串后面跟着一个数字,表示这个字符重复的次数. 例如:'a5'解压后为'aaaaa', 'abc3'解压后为'abcabcbac ...

  10. 【字符串处理算法】最长连续字符及其出现次数的算法设计及C代码实现

    一.需求描述 输入一个字符串,编写程序找出这个字符串中的最长连续字符,并求出其连续出现的次数. 例如,"123444445"中的最长连续字符是4,其连续出现的次数为5:" ...

最新文章

  1. 数据挖掘的一些经典算法
  2. 二分查找算法的一点改进
  3. java volatile 用法_java关键字volatile用法详解
  4. js输出一个菱形_Threejs使用菱形正方形算法,中点替换算法生成随机地形
  5. k8s网络架构图_唯品会基于Kubernetes(k8s)网络方案演进
  6. python汇率编程_【菜鸟学Python】案例一:汇率换算
  7. 【译】nginx关于location部分
  8. 几张图可以理解GC JVM调优的内容
  9. 【学神-RHEL7】1-3-Linux基本命令和配置服务器来电后自动开机
  10. 怎样访问服务器的文件,怎样访问服务器上的mht文件
  11. 总结:linux运维常用命令
  12. Backpressure背压
  13. 奈奎斯特与香农定理_奈奎斯特定理和香农定理有什么区别?
  14. 防CC攻击 软件防火墙和WEB防火墙大比较
  15. (一) u-boot 基本介绍
  16. edg击败we视频_2019德杯淘汰赛:EDG让二追三击败WE
  17. 基于win10的hyper-v安装openwrt与zerotier实现内网穿透及异地组网
  18. SAP ABAP 查询物料的销售/生产消耗数据
  19. 强化学习之 PPO 算法
  20. kali linux 入门(1) 基于win10和docker的环境搭建

热门文章

  1. 前端与游戏前端unityUI比较
  2. linux -- 三剑客 |grep - sed -awk
  3. tar命令压缩和解压缩
  4. 【渝粤教育】国家开放大学2018年春季 0314-21T兽医基础 参考试题
  5. 应用机器学习(八):线性模型
  6. Docker系列(七)构建镜像
  7. 读图,特征提取——形状
  8. 【2017级面向对象程序设计寒假作业】第4次作业情况
  9. 【SYZOI Round1】滑稽的树
  10. Flutter基础(十三)Flutter与Android的相互通信