前言

字符串处理需熟练。

下学期开学前的上学期期末复习。


题干

问题描述    
有一种简单的字符串压缩算法,对于字符串中连续出现的同一个英文字符,用该字符加上连续出现的次数来表示(连续出现次数小于3时不压缩)。
例如,字符串aaaaabbbabaaaaaaaaaaaaabbbb可压缩为a5b3aba13b4。
请设计一个程序,将采用该压缩方法得到的字符串解压缩,还原出原字符串并输出。

输入说明    
输入数据为一个字符串(长度不大于50,只包含字母和数字),表示压缩后的字符串

输出说明    
在一行上输出解压缩后的英文字符串(长度不超过100),最后换行。

输入样例    
a5b3aba13b4

输出样例    
aaaaabbbabaaaaaaaaaaaaabbbb


解析

看似简单,但存在几个思维盲点:

  1. 数字若为两/三位数的处理(占用两/三个字符)
  2. 数字是前一个字母的重复次数
  3. 大小写字母均可,勿被样例迷惑 漏大写字母情况
  4. 下标在变
  5. 同个字母重复三次及以上才压缩

解答

#include<stdio.h>
#include<string.h>
int main(){char a[50],c;int len,i,j,num=0;gets(a);len=strlen(a);for(i=0;i<len;i++){if(a[i]>='a' && a[i]<='z' || a[i]>='A' && a[i]<='Z'){for(j=0;j<num-1;j++){printf("%c",c);}num=0;c=a[i];printf("%c",c);}if(a[i]>='0' && a[i]<='9'){num=num*10+a[i]-48;//num是连续出现的次数//若出现次数>=10则要计算次数,char->int,减去'0'的ASCII码值48 }}for(i=0;i<num-1;i++){printf("%c",c);}printf("\n");return 0;
}

拓展

C语言字符串操作总结大全(超详细) - DoubleLi - 博客园 (cnblogs.com)

XDOJ 字符串压缩 C相关推荐

  1. xdoj试题 字符串压缩

    标题     字符串压缩 类别 字符串处理      时间限制     1S 内存限制     1000Kb 问题描述     有一种简单的字符串压缩算法,对于字符串中连续出现的同一个英文字符,用该字 ...

  2. 字符串压缩(xdoj)

    标题     字符串压缩 类别 字符串处理      时间限制     1S 内存限制     1000Kb 问题描述     有一种简单的字符串压缩算法,对于字符串中连续出现的同一个英文字符,用该字 ...

  3. 字符串压缩-xdoj

    标题     字符串压缩 类别 字符串处理      时间限制     1S 内存限制     1000Kb 问题描述     有一种简单的字符串压缩算法,对于字符串中连续出现的同一个英文字符,用该字 ...

  4. python【蓝桥杯vip练习题库】ADV-301 字符串压缩

    试题 算法提高 字符串压缩 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 编写一个程序,输入一个字符串,然后采用如下的规则对该字符串当中的每一个字符进行压缩: (1) 如果该字符是 ...

  5. redis源码之字符串压缩

    redis关于字符串压缩的几个文件分别是:lzf.h,lzfP.h,lzf_c.c,lzf_d.c,下面看一个测试用例. #include <iostream> #include < ...

  6. leetcode 解压缩_leetcode之字符串压缩

    序 本文主要记录一下leetcode之字符串压缩 题目 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若&quo ...

  7. C语言字符串压缩显示

    昨天参加WPS的笔试时,有一道题是要求写一个函数实现字符串压缩,举个例子: 输入:aaabbccccc 输出:a3b2c5 当时总想着怎么把输入的字符串str改写成输出那压缩形式,如果要修改字符串的话 ...

  8. C#自定义字符串压缩和解压缩源码库

    如下的内容是关于C#自定义字符串压缩和解压缩库的内容. class ZipLib{public static string Zip(string value){byte[] byteArray = n ...

  9. Python3 解题:字符串压缩

    Python3 解题:字符串压缩 原题 https://leetcode-cn.com/problems/compress-string-lcci/ 题目: 字符串压缩.利用字符重复出现的次数,编写一 ...

最新文章

  1. Linux系统基础-管理之用户、权限管理
  2. 双十一报名截止,决赛在即!AI Challenger2018极客峰会免费抢票!
  3. ASP.NET中相对路径的使用总结
  4. boost::prior用法的测试程序
  5. mysql主库宕机能写吗_MYSQL主主切换(主库宕机)_MySQL
  6. php本地怎么接受小程序图片,怎么把本地图片当作小程序背景
  7. python PEP 487
  8. 第四:RobotFramework+Allure2生成精美测试报告
  9. 基于Android的手机邮件收发(JavaMail)之二( Welcome.java 和 ReceiveAndSend.java )
  10. vi 编辑器基本命令
  11. 程序猿应该拥有的浏览器
  12. 华为路由与交换 eSight 基本功能学习笔记
  13. linux 中文显示乱码解决办法
  14. Execl单元格图片锁定----一定能
  15. macbookair有没有touchbar_没有Touch Bar 全新13英寸MacBook Pro初体验
  16. exchange2007+outlook2007,无法使用外出助理
  17. div、span、label标签的区别
  18. 《Effective Modern C++》学习笔记之条款二十五:针对右值引用实施std::move,针对万能引用实施std::forward
  19. 用Label mx条码打印软件制作吊牌标签
  20. Random ErasingCutout——两种相似的数据增强方式

热门文章

  1. 思科金牌、银牌代理商名录
  2. 产品运营数据分析框架应该包含哪些重要指标?
  3. Win7如何录制内部声音 电脑录音软件在线录音
  4. 求时滞反应扩散方程(纽曼边界条件的)的matlab代码
  5. Couldn't register com.zyg.ios.XXX with the bootstrap server. Error: unknown error code.
  6. Android自适应大小和屏幕
  7. 2602 Bone Collector
  8. 广告优化师的修行境界之路?
  9. RBM代码Python
  10. js mysql orm_nodejs ORM框架对比